241 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0
 | |
| 
 | |
| menu "UML-specific options"
 | |
| 
 | |
| config UML
 | |
| 	bool
 | |
| 	default y
 | |
| 	select ARCH_HAS_KCOV
 | |
| 	select ARCH_NO_PREEMPT
 | |
| 	select HAVE_ARCH_AUDITSYSCALL
 | |
| 	select HAVE_ARCH_KASAN if X86_64
 | |
| 	select HAVE_ARCH_KASAN_VMALLOC if HAVE_ARCH_KASAN
 | |
| 	select HAVE_ARCH_SECCOMP_FILTER
 | |
| 	select HAVE_ASM_MODVERSIONS
 | |
| 	select HAVE_UID16
 | |
| 	select HAVE_DEBUG_KMEMLEAK
 | |
| 	select HAVE_DEBUG_BUGVERBOSE
 | |
| 	select NO_DMA if !UML_DMA_EMULATION
 | |
| 	select GENERIC_IRQ_SHOW
 | |
| 	select GENERIC_CPU_DEVICES
 | |
| 	select HAVE_GCC_PLUGINS
 | |
| 	select ARCH_SUPPORTS_LTO_CLANG
 | |
| 	select ARCH_SUPPORTS_LTO_CLANG_THIN
 | |
| 	select TRACE_IRQFLAGS_SUPPORT
 | |
| 	select TTY # Needed for line.c
 | |
| 
 | |
| config MMU
 | |
| 	bool
 | |
| 	default y
 | |
| 
 | |
| config UML_DMA_EMULATION
 | |
| 	bool
 | |
| 
 | |
| config NO_IOMEM
 | |
| 	bool "disable IOMEM" if EXPERT
 | |
| 	depends on !INDIRECT_IOMEM
 | |
| 	default y
 | |
| 
 | |
| config UML_IOMEM_EMULATION
 | |
| 	bool
 | |
| 	select INDIRECT_IOMEM
 | |
| 	select GENERIC_PCI_IOMAP
 | |
| 	select GENERIC_IOMAP
 | |
| 	select NO_GENERIC_PCI_IOPORT_MAP
 | |
| 
 | |
| config NO_IOPORT_MAP
 | |
| 	def_bool y
 | |
| 
 | |
| config ISA
 | |
| 	bool
 | |
| 
 | |
| config SBUS
 | |
| 	bool
 | |
| 
 | |
| config LOCKDEP_SUPPORT
 | |
| 	bool
 | |
| 	default y
 | |
| 
 | |
| config STACKTRACE_SUPPORT
 | |
| 	bool
 | |
| 	default y
 | |
| 	select STACKTRACE
 | |
| 
 | |
| config GENERIC_CALIBRATE_DELAY
 | |
| 	bool
 | |
| 	default y
 | |
| 
 | |
| config HZ
 | |
| 	int
 | |
| 	default 100
 | |
| 
 | |
| config NR_CPUS
 | |
| 	int
 | |
| 	range 1 1
 | |
| 	default 1
 | |
| 
 | |
| config ARCH_HAS_CACHE_LINE_SIZE
 | |
| 	def_bool y
 | |
| 
 | |
| source "arch/$(HEADER_ARCH)/um/Kconfig"
 | |
| 
 | |
| config MAY_HAVE_RUNTIME_DEPS
 | |
|         bool
 | |
| 
 | |
| config STATIC_LINK
 | |
| 	bool "Force a static link"
 | |
| 	depends on CC_CAN_LINK_STATIC_NO_RUNTIME_DEPS || !MAY_HAVE_RUNTIME_DEPS
 | |
| 	help
 | |
| 	  This option gives you the ability to force a static link of UML.
 | |
| 	  Normally, UML is linked as a shared binary.  This is inconvenient for
 | |
| 	  use in a chroot jail.  So, if you intend to run UML inside a chroot,
 | |
| 	  you probably want to say Y here.
 | |
| 	  Additionally, this option enables using higher memory spaces (up to
 | |
| 	  2.75G) for UML.
 | |
| 
 | |
| 	  NOTE: This option is incompatible with some networking features which
 | |
| 	  depend on features that require being dynamically loaded (like NSS).
 | |
| 
 | |
| config LD_SCRIPT_STATIC
 | |
| 	bool
 | |
| 	default y
 | |
| 	depends on STATIC_LINK
 | |
| 
 | |
| config LD_SCRIPT_DYN
 | |
| 	bool
 | |
| 	default y
 | |
| 	depends on !LD_SCRIPT_STATIC
 | |
| 
 | |
| config LD_SCRIPT_DYN_RPATH
 | |
| 	bool "set rpath in the binary" if EXPERT
 | |
| 	default y
 | |
| 	depends on LD_SCRIPT_DYN
 | |
| 	help
 | |
| 	  Add /lib (and /lib64 for 64-bit) to the linux binary's rpath
 | |
| 	  explicitly.
 | |
| 
 | |
| 	  You may need to turn this off if compiling for nix systems
 | |
| 	  that have their libraries in random /nix directories and
 | |
| 	  might otherwise unexpected use libraries from /lib or /lib64
 | |
| 	  instead of the desired ones.
 | |
| 
 | |
| config HOSTFS
 | |
| 	tristate "Host filesystem"
 | |
| 	help
 | |
| 	  While the User-Mode Linux port uses its own root file system for
 | |
| 	  booting and normal file access, this module lets the UML user
 | |
| 	  access files stored on the host.  It does not require any
 | |
| 	  network connection between the Host and UML.  An example use of
 | |
| 	  this might be:
 | |
| 
 | |
| 	  mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
 | |
| 
 | |
| 	  where /tmp/fromhost is an empty directory inside UML and
 | |
| 	  /tmp/umlshare is a directory on the host with files the UML user
 | |
| 	  wishes to access.
 | |
| 
 | |
| 	  For more information, see
 | |
| 	  <http://user-mode-linux.sourceforge.net/hostfs.html>.
 | |
| 
 | |
| 	  If you'd like to be able to work with files stored on the host,
 | |
| 	  say Y or M here; otherwise say N.
 | |
| 
 | |
| config MCONSOLE
 | |
| 	bool "Management console"
 | |
| 	depends on PROC_FS
 | |
| 	default y
 | |
| 	help
 | |
| 	  The user mode linux management console is a low-level interface to
 | |
| 	  the kernel, somewhat like the i386 SysRq interface.  Since there is
 | |
| 	  a full-blown operating system running under every user mode linux
 | |
| 	  instance, there is much greater flexibility possible than with the
 | |
| 	  SysRq mechanism.
 | |
| 
 | |
| 	  If you answer 'Y' to this option, to use this feature, you need the
 | |
| 	  mconsole client (called uml_mconsole) which is present in CVS in
 | |
| 	  2.4.5-9um and later (path /tools/mconsole), and is also in the
 | |
| 	  distribution RPM package in 2.4.6 and later.
 | |
| 
 | |
| 	  It is safe to say 'Y' here.
 | |
| 
 | |
| config MAGIC_SYSRQ
 | |
| 	bool "Magic SysRq key"
 | |
| 	depends on MCONSOLE
 | |
| 	help
 | |
| 	  If you say Y here, you will have some control over the system even
 | |
| 	  if the system crashes for example during kernel debugging (e.g., you
 | |
| 	  will be able to flush the buffer cache to disk, reboot the system
 | |
| 	  immediately or dump some status information). A key for each of the
 | |
| 	  possible requests is provided.
 | |
| 
 | |
| 	  This is the feature normally accomplished by pressing a key
 | |
| 	  while holding SysRq (Alt+PrintScreen).
 | |
| 
 | |
| 	  On UML, this is accomplished by sending a "sysrq" command with
 | |
| 	  mconsole, followed by the letter for the requested command.
 | |
| 
 | |
| 	  The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y
 | |
| 	  unless you really know what this hack does.
 | |
| 
 | |
| config KERNEL_STACK_ORDER
 | |
| 	int "Kernel stack size order"
 | |
| 	default 2 if 64BIT
 | |
| 	range 2 10 if 64BIT
 | |
| 	default 1 if !64BIT
 | |
| 	help
 | |
| 	  This option determines the size of UML kernel stacks.  They will
 | |
| 	  be 1 << order pages.  The default is OK unless you're running Valgrind
 | |
| 	  on UML, in which case, set this to 3.
 | |
| 	  It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on
 | |
| 	  older (pre-2017) CPUs. It is not recommended on newer CPUs due to the
 | |
| 	  increase in the size of the state which needs to be saved when handling
 | |
| 	  signals.
 | |
| 
 | |
| config MMAPPER
 | |
| 	tristate "iomem emulation driver"
 | |
| 	help
 | |
| 	  This driver allows a host file to be used as emulated IO memory inside
 | |
| 	  UML.
 | |
| 
 | |
| config PGTABLE_LEVELS
 | |
| 	int
 | |
| 	default 3 if 3_LEVEL_PGTABLES
 | |
| 	default 2
 | |
| 
 | |
| config UML_TIME_TRAVEL_SUPPORT
 | |
| 	bool
 | |
| 	prompt "Support time-travel mode (e.g. for test execution)"
 | |
| 	# inf-cpu mode is incompatible with the benchmarking
 | |
| 	depends on !RAID6_PQ_BENCHMARK
 | |
| 	depends on !SMP
 | |
| 	help
 | |
| 	  Enable this option to support time travel inside the UML instance.
 | |
| 
 | |
| 	  After enabling this option, two modes are accessible at runtime
 | |
| 	  (selected by the kernel command line), see the kernel's command-
 | |
| 	  line help for more details.
 | |
| 
 | |
| 	  It is safe to say Y, but you probably don't need this.
 | |
| 
 | |
| config KASAN_SHADOW_OFFSET
 | |
| 	hex
 | |
| 	depends on KASAN
 | |
| 	default 0x100000000000
 | |
| 	help
 | |
| 	  This is the offset at which the ~16TB of shadow memory is
 | |
| 	  mapped and used by KASAN for memory debugging. This can be any
 | |
| 	  address that has at least KASAN_SHADOW_SIZE (total address space divided
 | |
| 	  by 8) amount of space so that the KASAN shadow memory does not conflict
 | |
| 	  with anything. The default is 0x100000000000, which works even if mem is
 | |
| 	  set to a large value. On low-memory systems, try 0x7fff8000, as it fits
 | |
| 	  into the immediate of most instructions, improving performance.
 | |
| 
 | |
| endmenu
 | |
| 
 | |
| source "arch/um/drivers/Kconfig"
 | |
| 
 | |
| config ARCH_SUSPEND_POSSIBLE
 | |
| 	def_bool y
 | |
| 
 | |
| source "kernel/power/Kconfig"
 |