| # 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 | |
| bool | |
| default y if !TEST | |
| config HAS_IOMEM | |
| bool "Turns on fake IOMEM support for KUnit" | |
| depends on TEST | |
| select MOCK_IOMEM | |
| 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. | |
| config PLATFORM_MOCK | |
| bool "Enable a mock architecture used for unit testing." | |
| depends on TEST && OF | |
| default n | |
| endmenu | |
| source "arch/um/drivers/Kconfig" |