| # 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_SECCOMP_FILTER | 
 | 	select HAVE_UID16 | 
 | 	select HAVE_FUTEX_CMPXCHG if FUTEX | 
 | 	select HAVE_DEBUG_KMEMLEAK | 
 | 	select GENERIC_IRQ_SHOW | 
 | 	select GENERIC_CPU_DEVICES | 
 | 	select GENERIC_CLOCKEVENTS | 
 | 	select HAVE_GCC_PLUGINS | 
 | 	select TTY # Needed for line.c | 
 |  | 
 | config MMU | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config NO_IOMEM | 
 | 	def_bool y | 
 |  | 
 | config ISA | 
 | 	bool | 
 |  | 
 | config SBUS | 
 | 	bool | 
 |  | 
 | config PCI | 
 | 	bool | 
 |  | 
 | config PCMCIA | 
 | 	bool | 
 |  | 
 | config TRACE_IRQFLAGS_SUPPORT | 
 | 	bool | 
 | 	default y | 
 |  | 
 | 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 | 
 |  | 
 | source "arch/$(HEADER_ARCH)/um/Kconfig" | 
 |  | 
 | config STATIC_LINK | 
 | 	bool "Force a static link" | 
 | 	default n | 
 | 	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. | 
 |  | 
 | config LD_SCRIPT_STATIC | 
 | 	bool | 
 | 	default y | 
 | 	depends on STATIC_LINK | 
 |  | 
 | config LD_SCRIPT_DYN | 
 | 	bool | 
 | 	default y | 
 | 	depends on !LD_SCRIPT_STATIC | 
 |         select MODULE_REL_CRCS if MODVERSIONS | 
 |  | 
 | 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 1 if 64BIT | 
 | 	range 1 10 if 64BIT | 
 | 	default 0 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. | 
 |  | 
 | config MMAPPER | 
 | 	tristate "iomem emulation driver" | 
 | 	help | 
 | 	  This driver allows a host file to be used as emulated IO memory inside | 
 | 	  UML. | 
 |  | 
 | config NO_DMA | 
 | 	def_bool y | 
 |  | 
 | config PGTABLE_LEVELS | 
 | 	int | 
 | 	default 3 if 3_LEVEL_PGTABLES | 
 | 	default 2 | 
 |  | 
 | config SECCOMP | 
 | 	def_bool y | 
 | 	prompt "Enable seccomp to safely compute untrusted bytecode" | 
 | 	---help--- | 
 | 	  This kernel feature is useful for number crunching applications | 
 | 	  that may need to compute untrusted bytecode during their | 
 | 	  execution. By using pipes or other transports made available to | 
 | 	  the process as file descriptors supporting the read/write | 
 | 	  syscalls, it's possible to isolate those applications in | 
 | 	  their own address space using seccomp. Once seccomp is | 
 | 	  enabled via prctl(PR_SET_SECCOMP), it cannot be disabled | 
 | 	  and the task is only allowed to execute a few safe syscalls | 
 | 	  defined by each seccomp mode. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | endmenu | 
 |  | 
 | source "arch/um/drivers/Kconfig" |