|
@@ -1,3 +1,213 @@
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
|
+menu "UML-specific options"
|
|
|
+
|
|
|
+config UML
|
|
|
+ bool
|
|
|
+ default y
|
|
|
+ select ARCH_HAS_KCOV
|
|
|
+ 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.
|
|
|
+
|
|
|
+source "mm/Kconfig"
|
|
|
+
|
|
|
+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
|
|
|
+
|
|
|
+source "fs/Kconfig.binfmt"
|
|
|
+
|
|
|
+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 "init/Kconfig"
|
|
|
+
|
|
|
+source "kernel/Kconfig.freezer"
|
|
|
+
|
|
|
+source "arch/um/Kconfig.char"
|
|
|
+
|
|
|
+source "drivers/Kconfig"
|
|
|
+
|
|
|
+source "net/Kconfig"
|
|
|
+
|
|
|
+source "arch/um/Kconfig.net"
|
|
|
+
|
|
|
+source "fs/Kconfig"
|
|
|
+
|
|
|
+source "security/Kconfig"
|
|
|
+
|
|
|
+source "crypto/Kconfig"
|
|
|
+
|
|
|
+source "lib/Kconfig"
|
|
|
+
|
|
|
+source "arch/um/Kconfig.debug"
|