18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_cimenu "UML-specific options" 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciconfig UML 68c2ecf20Sopenharmony_ci bool 78c2ecf20Sopenharmony_ci default y 88c2ecf20Sopenharmony_ci select ARCH_HAS_CPU_FINALIZE_INIT 98c2ecf20Sopenharmony_ci select ARCH_HAS_KCOV 108c2ecf20Sopenharmony_ci select ARCH_NO_PREEMPT 118c2ecf20Sopenharmony_ci select HAVE_ARCH_AUDITSYSCALL 128c2ecf20Sopenharmony_ci select HAVE_ARCH_SECCOMP_FILTER 138c2ecf20Sopenharmony_ci select HAVE_ASM_MODVERSIONS 148c2ecf20Sopenharmony_ci select HAVE_UID16 158c2ecf20Sopenharmony_ci select HAVE_FUTEX_CMPXCHG if FUTEX 168c2ecf20Sopenharmony_ci select HAVE_DEBUG_KMEMLEAK 178c2ecf20Sopenharmony_ci select HAVE_DEBUG_BUGVERBOSE 188c2ecf20Sopenharmony_ci select NO_DMA 198c2ecf20Sopenharmony_ci select GENERIC_IRQ_SHOW 208c2ecf20Sopenharmony_ci select GENERIC_CPU_DEVICES 218c2ecf20Sopenharmony_ci select GENERIC_CLOCKEVENTS 228c2ecf20Sopenharmony_ci select HAVE_GCC_PLUGINS 238c2ecf20Sopenharmony_ci select SET_FS 248c2ecf20Sopenharmony_ci select TTY # Needed for line.c 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciconfig MMU 278c2ecf20Sopenharmony_ci bool 288c2ecf20Sopenharmony_ci default y 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciconfig NO_IOMEM 318c2ecf20Sopenharmony_ci def_bool y 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciconfig ISA 348c2ecf20Sopenharmony_ci bool 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciconfig SBUS 378c2ecf20Sopenharmony_ci bool 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciconfig TRACE_IRQFLAGS_SUPPORT 408c2ecf20Sopenharmony_ci bool 418c2ecf20Sopenharmony_ci default y 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciconfig LOCKDEP_SUPPORT 448c2ecf20Sopenharmony_ci bool 458c2ecf20Sopenharmony_ci default y 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT 488c2ecf20Sopenharmony_ci bool 498c2ecf20Sopenharmony_ci default y 508c2ecf20Sopenharmony_ci select STACKTRACE 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY 538c2ecf20Sopenharmony_ci bool 548c2ecf20Sopenharmony_ci default y 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig HZ 578c2ecf20Sopenharmony_ci int 588c2ecf20Sopenharmony_ci default 100 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciconfig NR_CPUS 618c2ecf20Sopenharmony_ci int 628c2ecf20Sopenharmony_ci range 1 1 638c2ecf20Sopenharmony_ci default 1 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_cisource "arch/$(HEADER_ARCH)/um/Kconfig" 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciconfig MAY_HAVE_RUNTIME_DEPS 688c2ecf20Sopenharmony_ci bool 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ciconfig STATIC_LINK 718c2ecf20Sopenharmony_ci bool "Force a static link" 728c2ecf20Sopenharmony_ci depends on CC_CAN_LINK_STATIC_NO_RUNTIME_DEPS || !MAY_HAVE_RUNTIME_DEPS 738c2ecf20Sopenharmony_ci help 748c2ecf20Sopenharmony_ci This option gives you the ability to force a static link of UML. 758c2ecf20Sopenharmony_ci Normally, UML is linked as a shared binary. This is inconvenient for 768c2ecf20Sopenharmony_ci use in a chroot jail. So, if you intend to run UML inside a chroot, 778c2ecf20Sopenharmony_ci you probably want to say Y here. 788c2ecf20Sopenharmony_ci Additionally, this option enables using higher memory spaces (up to 798c2ecf20Sopenharmony_ci 2.75G) for UML. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci NOTE: This option is incompatible with some networking features which 828c2ecf20Sopenharmony_ci depend on features that require being dynamically loaded (like NSS). 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ciconfig LD_SCRIPT_STATIC 858c2ecf20Sopenharmony_ci bool 868c2ecf20Sopenharmony_ci default y 878c2ecf20Sopenharmony_ci depends on STATIC_LINK 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ciconfig LD_SCRIPT_DYN 908c2ecf20Sopenharmony_ci bool 918c2ecf20Sopenharmony_ci default y 928c2ecf20Sopenharmony_ci depends on !LD_SCRIPT_STATIC 938c2ecf20Sopenharmony_ci select MODULE_REL_CRCS if MODVERSIONS 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciconfig HOSTFS 968c2ecf20Sopenharmony_ci tristate "Host filesystem" 978c2ecf20Sopenharmony_ci help 988c2ecf20Sopenharmony_ci While the User-Mode Linux port uses its own root file system for 998c2ecf20Sopenharmony_ci booting and normal file access, this module lets the UML user 1008c2ecf20Sopenharmony_ci access files stored on the host. It does not require any 1018c2ecf20Sopenharmony_ci network connection between the Host and UML. An example use of 1028c2ecf20Sopenharmony_ci this might be: 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci mount none /tmp/fromhost -t hostfs -o /tmp/umlshare 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci where /tmp/fromhost is an empty directory inside UML and 1078c2ecf20Sopenharmony_ci /tmp/umlshare is a directory on the host with files the UML user 1088c2ecf20Sopenharmony_ci wishes to access. 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci For more information, see 1118c2ecf20Sopenharmony_ci <http://user-mode-linux.sourceforge.net/hostfs.html>. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci If you'd like to be able to work with files stored on the host, 1148c2ecf20Sopenharmony_ci say Y or M here; otherwise say N. 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciconfig MCONSOLE 1178c2ecf20Sopenharmony_ci bool "Management console" 1188c2ecf20Sopenharmony_ci depends on PROC_FS 1198c2ecf20Sopenharmony_ci default y 1208c2ecf20Sopenharmony_ci help 1218c2ecf20Sopenharmony_ci The user mode linux management console is a low-level interface to 1228c2ecf20Sopenharmony_ci the kernel, somewhat like the i386 SysRq interface. Since there is 1238c2ecf20Sopenharmony_ci a full-blown operating system running under every user mode linux 1248c2ecf20Sopenharmony_ci instance, there is much greater flexibility possible than with the 1258c2ecf20Sopenharmony_ci SysRq mechanism. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci If you answer 'Y' to this option, to use this feature, you need the 1288c2ecf20Sopenharmony_ci mconsole client (called uml_mconsole) which is present in CVS in 1298c2ecf20Sopenharmony_ci 2.4.5-9um and later (path /tools/mconsole), and is also in the 1308c2ecf20Sopenharmony_ci distribution RPM package in 2.4.6 and later. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci It is safe to say 'Y' here. 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ciconfig MAGIC_SYSRQ 1358c2ecf20Sopenharmony_ci bool "Magic SysRq key" 1368c2ecf20Sopenharmony_ci depends on MCONSOLE 1378c2ecf20Sopenharmony_ci help 1388c2ecf20Sopenharmony_ci If you say Y here, you will have some control over the system even 1398c2ecf20Sopenharmony_ci if the system crashes for example during kernel debugging (e.g., you 1408c2ecf20Sopenharmony_ci will be able to flush the buffer cache to disk, reboot the system 1418c2ecf20Sopenharmony_ci immediately or dump some status information). A key for each of the 1428c2ecf20Sopenharmony_ci possible requests is provided. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci This is the feature normally accomplished by pressing a key 1458c2ecf20Sopenharmony_ci while holding SysRq (Alt+PrintScreen). 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci On UML, this is accomplished by sending a "sysrq" command with 1488c2ecf20Sopenharmony_ci mconsole, followed by the letter for the requested command. 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y 1518c2ecf20Sopenharmony_ci unless you really know what this hack does. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciconfig KERNEL_STACK_ORDER 1548c2ecf20Sopenharmony_ci int "Kernel stack size order" 1558c2ecf20Sopenharmony_ci default 2 if 64BIT 1568c2ecf20Sopenharmony_ci range 2 10 if 64BIT 1578c2ecf20Sopenharmony_ci default 1 if !64BIT 1588c2ecf20Sopenharmony_ci help 1598c2ecf20Sopenharmony_ci This option determines the size of UML kernel stacks. They will 1608c2ecf20Sopenharmony_ci be 1 << order pages. The default is OK unless you're running Valgrind 1618c2ecf20Sopenharmony_ci on UML, in which case, set this to 3. 1628c2ecf20Sopenharmony_ci It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on 1638c2ecf20Sopenharmony_ci older (pre-2017) CPUs. It is not recommended on newer CPUs due to the 1648c2ecf20Sopenharmony_ci increase in the size of the state which needs to be saved when handling 1658c2ecf20Sopenharmony_ci signals. 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ciconfig MMAPPER 1688c2ecf20Sopenharmony_ci tristate "iomem emulation driver" 1698c2ecf20Sopenharmony_ci help 1708c2ecf20Sopenharmony_ci This driver allows a host file to be used as emulated IO memory inside 1718c2ecf20Sopenharmony_ci UML. 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ciconfig PGTABLE_LEVELS 1748c2ecf20Sopenharmony_ci int 1758c2ecf20Sopenharmony_ci default 3 if 3_LEVEL_PGTABLES 1768c2ecf20Sopenharmony_ci default 2 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ciconfig UML_TIME_TRAVEL_SUPPORT 1798c2ecf20Sopenharmony_ci bool 1808c2ecf20Sopenharmony_ci prompt "Support time-travel mode (e.g. for test execution)" 1818c2ecf20Sopenharmony_ci # inf-cpu mode is incompatible with the benchmarking 1828c2ecf20Sopenharmony_ci depends on !RAID6_PQ_BENCHMARK 1838c2ecf20Sopenharmony_ci depends on !SMP 1848c2ecf20Sopenharmony_ci help 1858c2ecf20Sopenharmony_ci Enable this option to support time travel inside the UML instance. 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci After enabling this option, two modes are accessible at runtime 1888c2ecf20Sopenharmony_ci (selected by the kernel command line), see the kernel's command- 1898c2ecf20Sopenharmony_ci line help for more details. 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci It is safe to say Y, but you probably don't need this. 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ciendmenu 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_cisource "arch/um/drivers/Kconfig" 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ciconfig ARCH_SUSPEND_POSSIBLE 1988c2ecf20Sopenharmony_ci def_bool y 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_cisource "kernel/power/Kconfig" 201