e40f04d040
arch/um/defconfig only lists one default configuration, and that applies only to the i386 architecture. Replace it with two minimal configuration files generated using `make savedefconfig`: i386_defconfig and x86_64_defconfig The build scripts now require two updates: 1. um's Kconfig (arch/x86/um/Kconfig) should specify an ARCH_DEFCONFIG section explicitly pointing to these scripts if the required variables are set. Take care to remove the DEFCONFIG_LIST section defined in the included file arch/um/Kconfig.common. 2. um's Makefile (arch/um/Makefile) should set KBUILD_DEFCONFIG properly for the top-level Makefile to pick up. Copy the logic in arch/x86/Makefile to properly pick the defconfig file depending on the actual architecture; except we're working with $SUBARCH here, instead of $ARCH. Now, you can do: $ ARCH=um make defconfig $ ARCH=um make and successfully build User-Mode Linux on an x86_64 box in default configuration. Cc: Richard Weinberger <richard@nod.at> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Richard Weinberger <richard@nod.at>
70 lines
1.4 KiB
Plaintext
70 lines
1.4 KiB
Plaintext
mainmenu "User Mode Linux/$SUBARCH $KERNELVERSION Kernel Configuration"
|
|
|
|
source "arch/um/Kconfig.common"
|
|
|
|
menu "UML-specific options"
|
|
|
|
menu "Host processor type and features"
|
|
|
|
source "arch/x86/Kconfig.cpu"
|
|
|
|
endmenu
|
|
|
|
config UML_X86
|
|
def_bool y
|
|
select GENERIC_FIND_FIRST_BIT
|
|
|
|
config 64BIT
|
|
bool "64-bit kernel" if SUBARCH = "x86"
|
|
default SUBARCH != "i386"
|
|
|
|
config X86_32
|
|
def_bool !64BIT
|
|
select HAVE_AOUT
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select MODULES_USE_ELF_REL
|
|
select CLONE_BACKWARDS
|
|
select OLD_SIGSUSPEND3
|
|
select OLD_SIGACTION
|
|
|
|
config X86_64
|
|
def_bool 64BIT
|
|
select MODULES_USE_ELF_RELA
|
|
|
|
config ARCH_DEFCONFIG
|
|
string
|
|
default "arch/um/configs/i386_defconfig" if X86_32
|
|
default "arch/um/configs/x86_64_defconfig" if X86_64
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
def_bool 64BIT
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
def_bool !RWSEM_XCHGADD_ALGORITHM
|
|
|
|
config 3_LEVEL_PGTABLES
|
|
bool "Three-level pagetables" if !64BIT
|
|
default 64BIT
|
|
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 GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
source "arch/um/Kconfig.um"
|
|
|
|
endmenu
|
|
|
|
source "arch/um/Kconfig.rest"
|