diff -Naur linux-2.6.12-rc3-mm3/include/asm-i386/page.h linux-2.6.12-rc3-mm3-1g/include/asm-i386/page.h --- linux-2.6.12-rc3-mm3/include/asm-i386/page.h 2005-05-05 07:51:23.066681640 -0700 +++ linux-2.6.12-rc3-mm3-1g/include/asm-i386/page.h 2005-05-08 08:40:37.363458424 -0700 @@ -123,14 +123,24 @@ extern int page_is_ram(unsigned long pagenr); #endif /* __ASSEMBLY__ */ - -#ifdef __ASSEMBLY__ -#define __PAGE_OFFSET (0xC0000000) -#define __PHYSICAL_START CONFIG_PHYSICAL_START +#ifdef CONFIG_1GLOWMEM +# ifdef __ASSEMBLY__ +# define __PAGE_OFFSET (0xB0000000) +# define __PHYSICAL_START CONFIG_PHYSICAL_START +# else +# define __PAGE_OFFSET (0xB0000000UL) +# define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) +# endif #else -#define __PAGE_OFFSET (0xC0000000UL) -#define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) +# 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 + #define __KERNEL_START (__PAGE_OFFSET + __PHYSICAL_START) diff -Naur linux-2.6.12-rc3-mm3/init/Kconfig.1g linux-2.6.12-rc3-mm3-1g/init/Kconfig.1g --- linux-2.6.12-rc3-mm3/init/Kconfig.1g 1969-12-31 16:00:00.000000000 -0800 +++ linux-2.6.12-rc3-mm3-1g/init/Kconfig.1g 2005-05-08 08:41:53.991809144 -0700 @@ -0,0 +1,16 @@ +menu "1Gb Low Memory Support" +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" + +endmenu