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>
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			1.4 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			1.4 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
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"
 |