123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- # SPDX-License-Identifier: GPL-2.0
- menu "UML-specific options"
- config UML
- bool
- default y
- select ARCH_EPHEMERAL_INODES
- select ARCH_HAS_CPU_FINALIZE_INIT
- select ARCH_HAS_FORTIFY_SOURCE
- select ARCH_HAS_GCOV_PROFILE_ALL
- select ARCH_HAS_KCOV
- select ARCH_HAS_STRNCPY_FROM_USER
- select ARCH_HAS_STRNLEN_USER
- 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 OF_EARLY_FLATTREE if OF
- select GENERIC_IRQ_SHOW
- select GENERIC_CPU_DEVICES
- select HAVE_GCC_PLUGINS
- select TRACE_IRQFLAGS_SUPPORT
- select TTY # Needed for line.c
- select HAVE_ARCH_VMAP_STACK
- config MMU
- bool
- default y
- config UML_DMA_EMULATION
- bool
- config NO_IOMEM
- bool "disable IOMEM" if EXPERT
- depends on !INDIRECT_IOMEM
- default y if !KUNIT
- config HAS_IOMEM
- bool "Turns on fake IOMEM support for KUnit"
- depends on KUNIT
- select MOCK_IOMEM
- 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 PLATFORM_MOCK
- bool "Enable a mock architecture used for unit testing."
- depends on KUNIT && OF
- default y
- 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"
|