aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/Kconfig
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2008-02-08 07:22:07 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-08 12:22:42 -0500
commit536788fe2d28e11db6aeda74207d95d750fb761f (patch)
tree73df2d3a46c542c71d3a84c20c8fd1ce617386a3 /arch/um/Kconfig
parent2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 (diff)
uml: runtime host VMSPLIT detection
Calculate TASK_SIZE at run-time by figuring out the host's VMSPLIT - this is needed on i386 if UML is to run on hosts with varying VMSPLITs without recompilation. TASK_SIZE is now defined in terms of a variable, task_size. This gets rid of an include of pgtable.h from processor.h, which can cause include loops. On i386, task_size is calculated early in boot by probing the address space in a binary search to figure out where the boundary between usable and non-usable memory is. This tries to make sure that a page that is considered to be in userspace is, or can be made, read-write. I'm concerned about a system-global VDSO page in kernel memory being hit and considered to be a userspace page. On x86_64, task_size is just the old value of CONFIG_TOP_ADDR. A bunch of config variable are gone now. CONFIG_TOP_ADDR is directly replaced by TASK_SIZE. NEST_LEVEL is gone since the relocation of the stubs makes it irrelevant. All the HOST_VMSPLIT stuff is gone. All references to these in arch/um/Makefile are also gone. I noticed and fixed a missing extern in os.h when adding os_get_task_size. Note: This has been revised to fix the 32-bit UML on 64-bit host bug that Miklos ran into. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/Kconfig')
-rw-r--r--arch/um/Kconfig11
1 files changed, 0 insertions, 11 deletions
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 99e51d059a02..dba8e05f0287 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -203,17 +203,6 @@ config NR_CPUS
203 depends on SMP 203 depends on SMP
204 default "32" 204 default "32"
205 205
206config NEST_LEVEL
207 int "Nesting level"
208 default "0"
209 help
210 This is set to the number of layers of UMLs that this UML will be run
211 in. Normally, this is zero, meaning that it will run directly on the
212 host. Setting it to one will build a UML that can run inside a UML
213 that is running on the host. Generally, if you intend this UML to run
214 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
215 UML.
216
217config HIGHMEM 206config HIGHMEM
218 bool "Highmem support (EXPERIMENTAL)" 207 bool "Highmem support (EXPERIMENTAL)"
219 depends on !64BIT && EXPERIMENTAL 208 depends on !64BIT && EXPERIMENTAL