# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1137+1.1069.176.120 -> 1.1138 
#	arch/ia64/kernel/efi.c	1.7.2.1 -> 1.18   
#	include/asm-ia64/mmu_context.h	1.5.4.1 -> 1.10   
#	include/asm-ia64/mca.h	1.10.1.1 -> 1.12   
#	 arch/ia64/mm/init.c	1.7.5.2 -> 1.24   
#	arch/ia64/kernel/salinfo.c	1.11.1.1 -> 1.13   
#	arch/ia64/kernel/mca.c	1.41.1.2 -> 1.44   
#	arch/ia64/hp/common/sba_iommu.c	1.1.4.2 -> 1.20   
#	arch/ia64/ia32/sys_ia32.c	1.9.4.1 -> 1.29   
#	arch/ia64/kernel/mca_asm.S	1.10.1.1 -> 1.12   
#	arch/ia64/tools/print_offsets.c	1.8.1.1 -> 1.10   
#	arch/ia64/kernel/perfmon.c	1.7.2.1 -> 1.25   
#	 arch/ia64/config.in	1.13.7.2 -> 1.34   
#
diff -Nru a/arch/ia64/config.in b/arch/ia64/config.in
--- a/arch/ia64/config.in	Wed Jan 14 16:31:30 2004
+++ b/arch/ia64/config.in	Wed Jan 14 16:31:30 2004
@@ -84,6 +84,30 @@
 
 define_bool CONFIG_KCORE_ELF y	# On IA-64, we always want an ELF /proc/kcore.
 
+define_int CONFIG_FORCE_MAX_ZONEORDER 19
+
+if [ "$CONFIG_HUGETLB_PAGE" = "y" ]; then
+	if [ "$CONFIG_MCKINLEY" = "y" ]; then
+		choice '    IA-64 Huge TLB Page Size'		\
+			"4GB	CONFIG_HUGETLB_PAGE_SIZE_4GB	\
+			 1GB	CONFIG_HUGETLB_PAGE_SIZE_1GB	\
+                         256MB	CONFIG_HUGETLB_PAGE_SIZE_256MB	\
+			 64MB	CONFIG_HUGETLB_PAGE_SIZE_64MB	\
+			 16MB	CONFIG_HUGETLB_PAGE_SIZE_16MB	\
+			 4MB	CONFIG_HUGETLB_PAGE_SIZE_4MB	\
+			 1MB	CONFIG_HUGETLB_PAGE_SIZE_1MB	\
+			 256KB	CONFIG_HUGETLB_PAGE_SIZE_256KB"	16MB
+	else
+		choice '    IA-64 Huge TLB Page Size'		\
+			"256MB	CONFIG_HUGETLB_PAGE_SIZE_256MB	\
+			 64MB	CONFIG_HUGETLB_PAGE_SIZE_64MB	\
+			 16MB	CONFIG_HUGETLB_PAGE_SIZE_16MB	\
+			 4MB	CONFIG_HUGETLB_PAGE_SIZE_4MB	\
+			 1MB	CONFIG_HUGETLB_PAGE_SIZE_1MB	\
+			 256KB	CONFIG_HUGETLB_PAGE_SIZE_256KB"	16MB
+	fi
+fi
+
 bool 'Use PAL_HALT_LIGHT in idle loop' CONFIG_IA64_PAL_IDLE
 bool 'SMP support' CONFIG_SMP
 if [ "$CONFIG_SMP" = "y" ]; then
diff -Nru a/include/asm-ia64/mmu_context.h b/include/asm-ia64/mmu_context.h
--- a/include/asm-ia64/mmu_context.h	Wed Jan 14 16:31:29 2004
+++ b/include/asm-ia64/mmu_context.h	Wed Jan 14 16:31:29 2004
@@ -115,6 +115,10 @@
 	rr2 = rr0 + 2*rid_incr;
 	rr3 = rr0 + 3*rid_incr;
 	rr4 = rr0 + 4*rid_incr;
+#ifdef  CONFIG_HUGETLB_PAGE
+	rr4 = (rr4 & (~(0xfcUL))) | (HPAGE_SHIFT << 2);
+#endif
+
 	ia64_set_rr(0x0000000000000000, rr0);
 	ia64_set_rr(0x2000000000000000, rr1);
 	ia64_set_rr(0x4000000000000000, rr2);