diff -Naur --exclude='*.orig' linux-2.6.11-rc2-mm1/arch/i386/Kconfig linux-2.6.11-rc2-no1/arch/i386/Kconfig --- linux-2.6.11-rc2-mm1/arch/i386/Kconfig 2005-01-29 16:09:36.288786587 -0500 +++ linux-2.6.11-rc2-no1/arch/i386/Kconfig 2005-01-29 16:02:54.039882403 -0500 @@ -745,6 +745,20 @@ depends on HIGHMEM64G default y +config 1GLOWMEM + bool "1Gb Low Memory Support" + depends on NOHIGHMEM + default n + help + Linux on i386 architecture normally supports just 896Mb without + enabling HIGHMEM support. This option will enable you to support 1Gb + of ram without needing to enable HIGHMEM support. The advantage of + this is that you don't need the extra overhead of high memory support + to utilise the last 128Mb of ram. However this may break drivers such + as vmware. + + If unsure say "no" + # Common NUMA Features config NUMA bool "Numa Memory Allocation and Scheduler Support" diff -Naur --exclude='*.orig' linux-2.6.11-rc2-mm1/include/asm-i386/page.h linux-2.6.11-rc2-no1/include/asm-i386/page.h --- linux-2.6.11-rc2-mm1/include/asm-i386/page.h 2005-01-29 02:31:31.000000000 -0500 +++ linux-2.6.11-rc2-no1/include/asm-i386/page.h 2005-01-29 16:08:13.450341796 -0500 @@ -123,13 +123,21 @@ #endif /* __ASSEMBLY__ */ +#ifdef CONFIG_1GLOWMEM +#ifdef __ASSEMBLY__ +#define __PAGE_OFFSET (0xB0000000) +#else +#define __PAGE_OFFSET (0xB0000000UL) +#endif /* __ASSEMBLY__ */ +#else #ifdef __ASSEMBLY__ #define __PAGE_OFFSET (0xC0000000) #define __PHYSICAL_START CONFIG_PHYSICAL_START #else #define __PAGE_OFFSET (0xC0000000UL) #define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) -#endif +#endif /* __ASSEMBLY__ */ +#endif /* CONFIG_1GLOWMEM */ #define __KERNEL_START (__PAGE_OFFSET + __PHYSICAL_START)