diff -Naur ./arch/i386/Kconfig ../linux-2.6.8.1-mem/./arch/i386/Kconfig --- ./arch/i386/Kconfig 2004-08-25 21:38:29.435578760 -0600 +++ ../linux-2.6.8.1-mem/./arch/i386/Kconfig 2004-08-25 20:50:36.000000000 -0600 @@ -721,6 +721,27 @@ depends on HIGHMEM64G default y +choice + prompt "User address space size" + +config USER_3GB + depends on X86 + depends on NOHIGHMEM + bool "3GB User Address Space" + +config USER_2GB + depends on X86 + depends on NOHIGHMEM + bool "2GB User Address Space" + +config USER_1GB + depends on X86 + depends on NOHIGHMEM + bool "1GB User Address Space" + +endchoice + + # Common NUMA Features config NUMA bool "Numa Memory Allocation and Scheduler Support" diff -Naur ./include/asm-generic/page_offset.h ../linux-2.6.8.1-mem/./include/asm-generic/page_offset.h --- ./include/asm-generic/page_offset.h 1969-12-31 17:00:00.000000000 -0700 +++ ../linux-2.6.8.1-mem/./include/asm-generic/page_offset.h 2004-08-25 20:51:03.000000000 -0600 @@ -0,0 +1,24 @@ + +#include + +#ifdef __ASSEMBLY__ + +#if defined(CONFIG_USER_1GB) +#define PAGE_OFFSET_RAW 0x40000000 +#elif defined(CONFIG_USER_2GB) +#define PAGE_OFFSET_RAW 0x80000000 +#elif defined(CONFIG_USER_3GB) +#define PAGE_OFFSET_RAW 0xC0000000 +#endif + +#else + +#if defined(CONFIG_USER_1GB) +#define PAGE_OFFSET_RAW 0x40000000UL +#elif defined(CONFIG_USER_2GB) +#define PAGE_OFFSET_RAW 0x80000000UL +#elif defined(CONFIG_USER_3GB) +#define PAGE_OFFSET_RAW 0xC0000000UL +#endif + +#endif diff -Naur ./include/asm-generic/vmlinux.lds.h ../linux-2.6.8.1-mem/./include/asm-generic/vmlinux.lds.h --- ./include/asm-generic/vmlinux.lds.h 2004-08-14 04:54:48.000000000 -0600 +++ ../linux-2.6.8.1-mem/./include/asm-generic/vmlinux.lds.h 2004-08-25 20:49:32.000000000 -0600 @@ -1,3 +1,6 @@ + +#include + #ifndef LOAD_OFFSET #define LOAD_OFFSET 0 #endif diff -Naur ./include/asm-i386/page.h ../linux-2.6.8.1-mem/./include/asm-i386/page.h --- ./include/asm-i386/page.h 2004-08-14 04:54:50.000000000 -0600 +++ ../linux-2.6.8.1-mem/./include/asm-i386/page.h 2004-08-25 20:49:32.000000000 -0600 @@ -119,9 +119,11 @@ #endif /* __ASSEMBLY__ */ #ifdef __ASSEMBLY__ -#define __PAGE_OFFSET (0xC0000000) +#include +#define __PAGE_OFFSET (PAGE_OFFSET_RAW) #else -#define __PAGE_OFFSET (0xC0000000UL) +#include +#define __PAGE_OFFSET (PAGE_OFFSET_RAW) #endif