From 4198426af37e7122f2fda2538fa9dcaa19c5e397 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sat, 23 Aug 2008 17:00:34 -0400 Subject: x86, um: merge Kconfig.i386 and Kconfig.x86_64 Signed-off-by: Al Viro Signed-off-by: H. Peter Anvin --- arch/um/Kconfig | 4 ++++ arch/um/Kconfig.i386 | 45 --------------------------------------------- arch/um/Kconfig.x86 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ arch/um/Kconfig.x86_64 | 39 --------------------------------------- arch/um/Makefile | 4 ++-- 5 files changed, 52 insertions(+), 86 deletions(-) delete mode 100644 arch/um/Kconfig.i386 create mode 100644 arch/um/Kconfig.x86 delete mode 100644 arch/um/Kconfig.x86_64 diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 393bccfe1785..a0801fda0be4 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.i386 deleted file mode 100644 index 1f57c113df6d..000000000000 --- a/arch/um/Kconfig.i386 +++ /dev/null @@ -1,45 +0,0 @@ -menu "Host processor type and features" - -source "arch/x86/Kconfig.cpu" - -endmenu - -config UML_X86 - bool - default y - -config X86_32 - bool - default y - select HAVE_AOUT - -config RWSEM_XCHGADD_ALGORITHM - def_bool y - -config 64BIT - bool - default n - -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 ARCH_HAS_SC_SIGNALS - bool - default y - -config ARCH_REUSE_HOST_VSYSCALL_AREA - bool - default y - -config GENERIC_HWEIGHT - bool - default y diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86 new file mode 100644 index 000000000000..76200c9f454a --- /dev/null +++ b/arch/um/Kconfig.x86 @@ -0,0 +1,46 @@ +menu "Host processor type and features" + +source "arch/x86/Kconfig.cpu" + +endmenu + +config UML_X86 + def_bool y + +config 64BIT + bool + default SUBARCH = "x86_64" + +config X86_32 + def_bool !64BIT + select HAVE_AOUT + +config RWSEM_XCHGADD_ALGORITHM + def_bool X86_XADD + +config RWSEM_GENERIC_SPINLOCK + def_bool !X86_XADD + +config 3_LEVEL_PGTABLES + 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 + 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 ARCH_HAS_SC_SIGNALS + def_bool !64BIT + +config ARCH_REUSE_HOST_VSYSCALL_AREA + def_bool !64BIT + +config SMP_BROKEN + def_bool 64BIT + +config GENERIC_HWEIGHT + def_bool y diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64 deleted file mode 100644 index 40b3407cfe16..000000000000 --- 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 2e042b0e3b8a..bc070cef3ceb 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 -- cgit v1.2.2