| # 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_ASM_MODVERSIONS |
| select HAVE_UID16 |
| select HAVE_FUTEX_CMPXCHG if FUTEX |
| select HAVE_DEBUG_KMEMLEAK |
| select HAVE_DEBUG_BUGVERBOSE |
| 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 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 FORBID_STATIC_LINK |
| bool |
| |
| config STATIC_LINK |
| bool "Force a static link" |
| depends on !FORBID_STATIC_LINK |
| 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 |
| 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 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 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 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. |
| |
| endmenu |
| |
| source "arch/um/drivers/Kconfig" |