diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2006-10-11 04:21:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-11 14:14:21 -0400 |
commit | c21be1c9c1ab42fe285a74f184e1acbc37ee084b (patch) | |
tree | d9f7b20e39ed9cd0fa1cbb3694bbc21be8e3b5de /arch/um | |
parent | ca316fcf641532ee70dfc59daf632d1685b7d902 (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.i386 | 49 |
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 | ||
19 | config HOST_2G_2G | 19 | choice |
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" | ||
47 | endchoice | ||
31 | 48 | ||
32 | config TOP_ADDR | 49 | config 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 | ||
37 | config 3_LEVEL_PGTABLES | 56 | config 3_LEVEL_PGTABLES |
38 | bool "Three-level pagetables (EXPERIMENTAL)" | 57 | bool "Three-level pagetables (EXPERIMENTAL)" |