aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>2006-10-11 04:21:42 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-11 14:14:21 -0400
commitc21be1c9c1ab42fe285a74f184e1acbc37ee084b (patch)
treed9f7b20e39ed9cd0fa1cbb3694bbc21be8e3b5de /arch/um
parentca316fcf641532ee70dfc59daf632d1685b7d902 (diff)
[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: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/Kconfig.i38649
1 files changed, 34 insertions, 15 deletions
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386
index f6eb72d117b9..f191a550a079 100644
--- a/arch/um/Kconfig.i386
+++ b/arch/um/Kconfig.i386
@@ -16,23 +16,42 @@ config SEMAPHORE_SLEEPERS
16 bool 16 bool
17 default y 17 default y
18 18
19config HOST_2G_2G 19choice
20 bool "2G/2G host address space split" 20 prompt "Host memory split"
21 default n 21 default HOST_VMSPLIT_3G
22 help 22 ---help---
23 This is needed when the host on which you run has a 2G/2G memory 23 This is needed when the host kernel on which you run has a non-default
24 split, instead of the customary 3G/1G. 24 (like 2G/2G) memory split, instead of the customary 3G/1G. If you did
25 25 not recompile your own kernel but use the default distro's one, you can
26 Note that to enable such a host 26 safely accept the "Default split" option.
27 configuration, which makes sense only in some cases, you need special 27
28 host patches. 28 It can be enabled on recent (>=2.6.16-rc2) vanilla kernels via
29 29 CONFIG_VM_SPLIT_*, or on previous kernels with special patches (-ck
30 So, if you do not know what to do here, say 'N'. 30 patchset by Con Kolivas, or other ones) - option names match closely the
31 host CONFIG_VM_SPLIT_* ones.
32
33 A lower setting (where 1G/3G is lowest and 3G/1G is higher) will
34 tolerate even more "normal" host kernels, but an higher setting will be
35 stricter.
36
37 So, if you do not know what to do here, say 'Default split'.
38
39 config HOST_VMSPLIT_3G
40 bool "Default split (3G/1G user/kernel host split)"
41 config HOST_VMSPLIT_3G_OPT
42 bool "3G/1G user/kernel host split (for full 1G low memory)"
43 config HOST_VMSPLIT_2G
44 bool "2G/2G user/kernel host split"
45 config HOST_VMSPLIT_1G
46 bool "1G/3G user/kernel host split"
47endchoice
31 48
32config TOP_ADDR 49config TOP_ADDR
33 hex 50 hex
34 default 0xc0000000 if !HOST_2G_2G 51 default 0xB0000000 if HOST_VMSPLIT_3G_OPT
35 default 0x80000000 if HOST_2G_2G 52 default 0x78000000 if HOST_VMSPLIT_2G
53 default 0x40000000 if HOST_VMSPLIT_1G
54 default 0xC0000000
36 55
37config 3_LEVEL_PGTABLES 56config 3_LEVEL_PGTABLES
38 bool "Three-level pagetables (EXPERIMENTAL)" 57 bool "Three-level pagetables (EXPERIMENTAL)"