Index: linux-2.6.11/arch/xen/i386/kernel/head.S =================================================================== --- linux-2.6.11.orig/arch/xen/i386/kernel/head.S 2005-07-06 16:56:01.000000000 +0200 +++ linux-2.6.11/arch/xen/i386/kernel/head.S 2005-07-06 17:37:43.000000000 +0200 @@ -5,6 +5,11 @@ .ascii "GUEST_OS=linux,GUEST_VER=2.6" .ascii ",XEN_VER=3.0" .ascii ",VIRT_BASE=0xC0000000" +#ifdef CONFIG_X86_PAE + .ascii ",PAE=yes" +#else + .ascii ",PAE=no" +#endif .ascii ",LOADER=generic" .byte 0 @@ -145,10 +150,17 @@ ENTRY(cpu_gdt_table) .quad 0x0000000000000000 /* 0x53 reserved */ .quad 0x0000000000000000 /* 0x5b reserved */ +#ifdef CONFIG_X86_PAE + .quad 0x00cfbb00000067ff /* 0x60 kernel 4GB code at 0x00000000 */ + .quad 0x00cfb300000067ff /* 0x68 kernel 4GB data at 0x00000000 */ + .quad 0x00cffb00000067ff /* 0x73 user 4GB code at 0x00000000 */ + .quad 0x00cff300000067ff /* 0x7b user 4GB data at 0x00000000 */ +#else .quad 0x00cfbb000000c3ff /* 0x60 kernel 4GB code at 0x00000000 */ .quad 0x00cfb3000000c3ff /* 0x68 kernel 4GB data at 0x00000000 */ .quad 0x00cffb000000c3ff /* 0x73 user 4GB code at 0x00000000 */ .quad 0x00cff3000000c3ff /* 0x7b user 4GB data at 0x00000000 */ +#endif .quad 0x0000000000000000 /* 0x80 TSS descriptor */ .quad 0x0000000000000000 /* 0x88 LDT descriptor */ Index: linux-2.6.11/arch/xen/i386/Kconfig =================================================================== --- linux-2.6.11.orig/arch/xen/i386/Kconfig 2005-07-06 16:56:01.000000000 +0200 +++ linux-2.6.11/arch/xen/i386/Kconfig 2005-07-06 17:37:43.000000000 +0200 @@ -557,11 +557,11 @@ config HIGHMEM4G Select this if you have a 32-bit processor and between 1 and 4 gigabytes of physical RAM. -#config HIGHMEM64G -# bool "64GB" -# help -# Select this if you have a 32-bit processor and more than 4 -# gigabytes of physical RAM. +config HIGHMEM64G + bool "64GB" + help + Select this if you have a 32-bit processor and more than 4 + gigabytes of physical RAM. endchoice