summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2008-08-23 17:00:34 -0400
committerH. Peter Anvin <hpa@zytor.com>2008-10-22 22:55:22 -0700
commit4198426af37e7122f2fda2538fa9dcaa19c5e397 (patch)
tree398a9f0b31f3ad4c3a5dae5e39a5b238f3ecf224
parentf5ad6a42b700d9687bb97cf461e7f2506e3006d6 (diff)
x86, um: merge Kconfig.i386 and Kconfig.x86_64
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--arch/um/Kconfig4
-rw-r--r--arch/um/Kconfig.x86 (renamed from arch/um/Kconfig.i386)33
-rw-r--r--arch/um/Kconfig.x86_6439
-rw-r--r--arch/um/Makefile4
4 files changed, 23 insertions, 57 deletions
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 393bccfe178..a0801fda0be 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -85,6 +85,10 @@ config STATIC_LINK
Additionally, this option enables using higher memory spaces (up to
2.75G) for UML.
+config SUBARCH
+ string
+ option env="SUBARCH"
+
source "arch/um/Kconfig.arch"
source "mm/Kconfig"
source "kernel/time/Kconfig"
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.x86
index 1f57c113df6..76200c9f454 100644
--- a/arch/um/Kconfig.i386
+++ b/arch/um/Kconfig.x86
@@ -5,24 +5,25 @@ source "arch/x86/Kconfig.cpu"
endmenu
config UML_X86
+ def_bool y
+
+config 64BIT
bool
- default y
+ default SUBARCH = "x86_64"
config X86_32
- bool
- default y
- select HAVE_AOUT
+ def_bool !64BIT
+ select HAVE_AOUT
config RWSEM_XCHGADD_ALGORITHM
- def_bool y
+ def_bool X86_XADD
-config 64BIT
- bool
- default n
+config RWSEM_GENERIC_SPINLOCK
+ def_bool !X86_XADD
config 3_LEVEL_PGTABLES
- bool "Three-level pagetables (EXPERIMENTAL)"
- default n
+ bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT
+ default 64BIT
depends on EXPERIMENTAL
help
Three-level pagetables will let UML have more than 4G of physical
@@ -33,13 +34,13 @@ config 3_LEVEL_PGTABLES
N (on x86-64 it's automatically enabled, instead, as it's safe there).
config ARCH_HAS_SC_SIGNALS
- bool
- default y
+ def_bool !64BIT
config ARCH_REUSE_HOST_VSYSCALL_AREA
- bool
- default y
+ def_bool !64BIT
+
+config SMP_BROKEN
+ def_bool 64BIT
config GENERIC_HWEIGHT
- bool
- default y
+ def_bool y
diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64
deleted file mode 100644
index 40b3407cfe1..00000000000
--- a/arch/um/Kconfig.x86_64
+++ /dev/null
@@ -1,39 +0,0 @@
-
-menu "Host processor type and features"
-
-source "arch/x86/Kconfig.cpu"
-
-endmenu
-
-config UML_X86
- bool
- default y
-
-config 64BIT
- bool
- default y
-
-#XXX: this is so in the underlying arch, but it's wrong!!!
-config RWSEM_GENERIC_SPINLOCK
- bool
- default y
-
-config 3_LEVEL_PGTABLES
- bool
- default y
-
-config ARCH_HAS_SC_SIGNALS
- bool
- default n
-
-config ARCH_REUSE_HOST_VSYSCALL_AREA
- bool
- default n
-
-config SMP_BROKEN
- bool
- default y
-
-config GENERIC_HWEIGHT
- bool
- default y
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 2e042b0e3b8..bc070cef3ce 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -96,9 +96,9 @@ define archhelp
endef
ifneq ($(KBUILD_SRC),)
-$(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch)
+$(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
else
-$(shell ln -fsn Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch)
+$(shell ln -fsn Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
endif
archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/shared/user_constants.h