|author||Bill Irwin <email@example.com>||2007-05-02 19:27:22 +0200|
|committer||Andi Kleen <firstname.lastname@example.org>||2007-05-02 19:27:22 +0200|
|parent||[PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff (diff)|
[PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.
Only 1GB-aligned kernel/user splits are now handled for PAE. The 2GB/2GB split attempts to avoid aliasing vmallocspace with the 1:1 mapping for physical memory by using an actual split of 1.875/2.125 to accommodate 128MB of vmallocspace out of what would otherwise be a full 2GB for userspace. That attempt disturbs the alignment required by PAE for 2GB/2GB splits, and furthermore does not provide a 2GB/2GB split as advertised. This patch resolves the issues here in two manners. The first is by providing a true 2GB/2GB split in addition to the 1.875/2.125 split. The second is by renaming the 1.875/2.125 split to CONFIG_VMSPLIT_2G_OPT analogously to CONFIG_VMSPLIT_3G_OPT, which performs a similar manuever to avoid aliasing vmallocspace with the 1:1 mapping for physical memory around the 3GB boundary. With the 1.875/2.125 split properly-named, its config option is then tagged as depending on !HIGHMEM to express the PAE implementation's current inability to deal with such unaligned splits. This patch is essentially a combination of two patches, one written by Eric Biederman and the other by Eric Dumazet. If they could add their Signed-off-by: to this, I'd be much obliged. Signed-off-by: William Irwin <email@example.com> Signed-off-by: Andi Kleen <firstname.lastname@example.org> Cc: Eric Dumazet <email@example.com> Cc: Mark Lord <firstname.lastname@example.org> Cc: Eric W. Biederman <email@example.com> Cc: Andi Kleen <firstname.lastname@example.org>
Diffstat (limited to '')
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 1a94a73fe801..c6f8d6856c4d 100644
@@ -571,6 +571,9 @@ choice
bool "3G/1G user/kernel split (for full 1G low memory)"
bool "2G/2G user/kernel split"
+ config VMSPLIT_2G_OPT
+ depends on !HIGHMEM
+ bool "2G/2G user/kernel split (for full 2G low memory)"
bool "1G/3G user/kernel split"
@@ -578,7 +581,8 @@ endchoice
default 0xB0000000 if VMSPLIT_3G_OPT
- default 0x78000000 if VMSPLIT_2G
+ default 0x80000000 if VMSPLIT_2G
+ default 0x78000000 if VMSPLIT_2G_OPT
default 0x40000000 if VMSPLIT_1G