aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/Kconfig.i386
blob: 77558a88a2fe834975c326e768abd9ce82ebe205 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
menu "Host processor type and features"

source "arch/i386/Kconfig.cpu"

endmenu

config UML_X86
	bool
	default y

config 64BIT
	bool
	default n

config SEMAPHORE_SLEEPERS
	bool
	default y

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 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)"
	default n
	depends on EXPERIMENTAL
	help
	Three-level pagetables will let UML have more than 4G of physical
	memory.  All the memory that can't be mapped directly will be treated
	as high memory.

	However, this it experimental on 32-bit architectures, so if unsure say
	N (on x86-64 it's automatically enabled, instead, as it's safe there).

config STUB_CODE
	hex
	default 0xbfffe000 if !HOST_VMSPLIT_2G
	default 0x7fffe000 if HOST_VMSPLIT_2G

config STUB_DATA
	hex
	default 0xbffff000 if !HOST_VMSPLIT_2G
	default 0x7ffff000 if HOST_VMSPLIT_2G

config STUB_START
	hex
	default STUB_CODE

config ARCH_HAS_SC_SIGNALS
	bool
	default y

config ARCH_REUSE_HOST_VSYSCALL_AREA
	bool
	default y

config GENERIC_HWEIGHT
	bool
	default y