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
bool
default y
config HOST_2G_2G
bool "2G/2G host address space split"
default n
help
This is needed when the host on which you run has a 2G/2G memory
split, instead of the customary 3G/1G.
Note that to enable such a host
configuration, which makes sense only in some cases, you need special
host patches.
So, if you do not know what to do here, say 'N'.
choice
prompt "Host memory split"
default HOST_VMSPLIT_3G
---help---
This is needed when the host kernel on which you run has a non-default
(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
safely accept the "Default split" option.
It can be enabled on recent (>=2.6.16-rc2) vanilla kernels via
CONFIG_VM_SPLIT_*, or on previous kernels with special patches (-ck
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
hex
default 0xc0000000 if !HOST_2G_2G
default 0x80000000 if HOST_2G_2G
hex
default 0xB0000000 if HOST_VMSPLIT_3G_OPT
default 0x78000000 if HOST_VMSPLIT_2G
default 0x40000000 if HOST_VMSPLIT_1G
default 0xC0000000
config 3_LEVEL_PGTABLES
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