aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2005-01-11 03:14:08 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-01-11 03:14:08 -0800
commitcc5f6a674e75fb6b4608c08203d7b00125758f72 (patch)
tree4b411e2eb4f316a122d14a2f9bc215ccb65eeaed /arch
parent4aa472960d5cd7835771cb9c72ceb119e3fead6d (diff)
downloadhistory-cc5f6a674e75fb6b4608c08203d7b00125758f72.tar.gz
[PATCH] UML: Split out arch link address definitions
Define addresses at which UML will link and make them settable by the arch. Signed-off-by: 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')
-rw-r--r--arch/um/Kconfig_arch16
-rw-r--r--arch/um/Kconfig_i3867
-rw-r--r--arch/um/Makefile-i3866
-rw-r--r--arch/um/kernel/skas/mem.c5
4 files changed, 28 insertions, 6 deletions
diff --git a/arch/um/Kconfig_arch b/arch/um/Kconfig_arch
new file mode 100644
index 00000000000000..2f5f053bc46195
--- /dev/null
+++ b/arch/um/Kconfig_arch
@@ -0,0 +1,16 @@
+config 64_BIT
+ bool
+ default n
+
+config TOP_ADDR
+ hex
+ default 0xc0000000 if !HOST_2G_2G
+ default 0x80000000 if HOST_2G_2G
+
+config 3_LEVEL_PGTABLES
+ bool "Three-level pagetables"
+ default n
+ 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.
diff --git a/arch/um/Kconfig_i386 b/arch/um/Kconfig_i386
index 342f50a0570961..2f5f053bc46195 100644
--- a/arch/um/Kconfig_i386
+++ b/arch/um/Kconfig_i386
@@ -1,6 +1,12 @@
config 64_BIT
bool
default n
+
+config TOP_ADDR
+ hex
+ default 0xc0000000 if !HOST_2G_2G
+ default 0x80000000 if HOST_2G_2G
+
config 3_LEVEL_PGTABLES
bool "Three-level pagetables"
default n
@@ -8,4 +14,3 @@ config 3_LEVEL_PGTABLES
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.
-
diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386
index 43991d9e3437f4..97b223bfa78e57 100644
--- a/arch/um/Makefile-i386
+++ b/arch/um/Makefile-i386
@@ -1,10 +1,6 @@
SUBARCH_CORE := arch/um/sys-i386/
-ifeq ($(CONFIG_HOST_2G_2G), y)
-TOP_ADDR := 0x80000000
-else
-TOP_ADDR := 0xc0000000
-endif
+TOP_ADDR := $(CONFIG_TOP_ADDR)
ifeq ($(CONFIG_MODE_SKAS),y)
ifneq ($(CONFIG_MODE_TT),y)
diff --git a/arch/um/kernel/skas/mem.c b/arch/um/kernel/skas/mem.c
index ec169a86cdbe2e..438db2f43456b4 100644
--- a/arch/um/kernel/skas/mem.c
+++ b/arch/um/kernel/skas/mem.c
@@ -13,8 +13,13 @@ unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out,
/* Round up to the nearest 4M */
unsigned long top = ROUND_4M((unsigned long) &arg);
+#ifdef CONFIG_HOST_TASK_SIZE
+ *host_size_out = CONFIG_HOST_TASK_SIZE;
+ *task_size_out = CONFIG_HOST_TASK_SIZE;
+#else
*host_size_out = top;
*task_size_out = top;
+#endif
return(((unsigned long) set_task_sizes_skas) & ~0xffffff);
}