Commit c21be1c9 authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds

[PATCH] uml: allow finer tuning for host VMSPLIT setting

Now that various memory splits are enabled, add a config option allowing the
user to compile UML for its need - HOST_2G_2G allowed to choose either 3G/1G
or 2G/2G, and enabling it reduced the usable virtual memory.

Detecting this at run time should be implemented in the future, but we must
make the stop-gap measure work well enough (this is valid in _many_ cases).
Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent ca316fcf
...@@ -16,23 +16,42 @@ config SEMAPHORE_SLEEPERS ...@@ -16,23 +16,42 @@ config SEMAPHORE_SLEEPERS
bool bool
default y default y
config HOST_2G_2G choice
bool "2G/2G host address space split" prompt "Host memory split"
default n default HOST_VMSPLIT_3G
help ---help---
This is needed when the host on which you run has a 2G/2G memory This is needed when the host kernel on which you run has a non-default
split, instead of the customary 3G/1G. (like 2G/2G) memory split, instead of the customary 3G/1G. If you did
not recompile your own kernel but use the default distro's one, you can
Note that to enable such a host safely accept the "Default split" option.
configuration, which makes sense only in some cases, you need special
host patches. It can be enabled on recent (>=2.6.16-rc2) vanilla kernels via
CONFIG_VM_SPLIT_*, or on previous kernels with special patches (-ck
So, if you do not know what to do here, say 'N'. patchset by Con Kolivas, or other ones) - option names match closely the
host CONFIG_VM_SPLIT_* ones.
A lower setting (where 1G/3G is lowest and 3G/1G is higher) will
tolerate even more "normal" host kernels, but an higher setting will be
stricter.
So, if you do not know what to do here, say 'Default split'.
config HOST_VMSPLIT_3G
bool "Default split (3G/1G user/kernel host split)"
config HOST_VMSPLIT_3G_OPT
bool "3G/1G user/kernel host split (for full 1G low memory)"
config HOST_VMSPLIT_2G
bool "2G/2G user/kernel host split"
config HOST_VMSPLIT_1G
bool "1G/3G user/kernel host split"
endchoice
config TOP_ADDR config TOP_ADDR
hex hex
default 0xc0000000 if !HOST_2G_2G default 0xB0000000 if HOST_VMSPLIT_3G_OPT
default 0x80000000 if HOST_2G_2G default 0x78000000 if HOST_VMSPLIT_2G
default 0x40000000 if HOST_VMSPLIT_1G
default 0xC0000000
config 3_LEVEL_PGTABLES config 3_LEVEL_PGTABLES
bool "Three-level pagetables (EXPERIMENTAL)" bool "Three-level pagetables (EXPERIMENTAL)"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment