Files
lkl_linux/arch/lkl/Kconfig
Ruihan Li cdd533f541 lkl: Drop unnecessary config selects
LKL can work without network support. The current Kconfig forces all LKL
builds to enable CONFIG_NET, which is not necessary.

LKL tests may still expect such features to be enabled by default, so
this commit removes the selects in Kconfig, but specifies them as
enabled in defconfigs.

End users using defconfigs should not be affected by this patch, but end
users with their own configs or allnoconfig may benefit from this patch
by having a minified kernel image.

Signed-off-by: Ruihan Li <lrh2000@pku.edu.cn>
2025-05-11 21:15:03 +08:00

177 lines
4.4 KiB
Plaintext

config LKL
def_bool y
depends on !SMP && !COREDUMP && !SECCOMP && !UPROBES && !COMPAT && !USER_RETURN_NOTIFIER
select ARCH_THREAD_STACK_ALLOCATOR
select GENERIC_ATOMIC64
select GENERIC_HWEIGHT
select FLATMEM
select GENERIC_CLOCKEVENTS
select GENERIC_CPU_DEVICES
select NO_HZ_IDLE
select NO_PREEMPT
select ARCH_WANT_FRAME_POINTERS
select UACCESS_MEMCPY
select GENERIC_STRNCPY_FROM_USER
select GENERIC_STRNLEN_USER
select HAVE_ARCH_KASAN
select TRACING
config LKL_FUZZING
bool "LLVM fuzzing instrumentation"
default n
help
This configuration option enables fuzzing instrumentation
for the Linux kernel source files to enable coverage-guided
fuzzing. At the moment LKL supports libFuzzer fuzzing
engine only.
config LKL_LINE_COV
bool "Code coverage instrumentation for fuzzers"
depends on LKL_FUZZING && CC_IS_CLANG
default n
help
This configuration option enables line code coverage
instrumentation for the Linux kernel to generate fuzzing
code coverage reports. When this option is enabled the
kernel source files are built with LLVM SanitizerCoverage
instrumentation.
config OUTPUT_FORMAT
string "Output format"
default ""
config ARCH_DMA_ADDR_T_64BIT
def_bool 64BIT
config PHYS_ADDR_T_64BIT
def_bool 64BIT
config 64BIT
bool "64bit kernel"
default n
config MMU
bool "LKL MMU implementation"
depends on 64BIT
default n
if MMU
config PGTABLE_LEVELS
int
default 3
config LKL_MEMORY_START
hex
default 0x50000000
help
Base address of kernel virtual address space for LKL. No particular
reason for picking this specific value. It is assumed that the host
mmap is able to map requested amount of memory at this address.
STACK_TOP and VMALLOC_START values depend on it.
config LKL_TASK_UNMAPPED_BASE
hex
default 0x100000
help
Starting virtual address for LKL user-space mmap. It is assumed that
the host mmap is able to map requested amount of memory starting from
this address.
config LKL_MMU_KUNIT_TEST
bool "Kunit tests for LKL MMU"
default n
depends on KUNIT
help
Kunit tests to test correctness of MMU-related kernel interfaces (such
as vmalloc, for example) which are difficult to test in user-space.
endif
config COREDUMP
def_bool n
config BIG_ENDIAN
def_bool n
config CPU_BIG_ENDIAN
def_bool BIG_ENDIAN
config GENERIC_CSUM
def_bool y
config GENERIC_HWEIGHT
def_bool y
config NO_IOPORT_MAP
def_bool y
config HZ
int
default 100
config CONSOLE_LOGLEVEL_QUIET
int "quiet console loglevel (1-15)"
range 1 15
default "4"
help
loglevel to use when "quiet" is passed on the kernel commandline.
When "quiet" is passed on the kernel commandline this loglevel
will be used as the loglevel. IOW passing "quiet" will be the
equivalent of passing "loglevel=<CONSOLE_LOGLEVEL_QUIET>"
config PCI
bool "PCI support"
select NO_GENERIC_PCI_IOPORT_MAP
select GENERIC_PCI_IOMAP
select HAS_DMA
select DMA_OPS
default y
config RAID6_PQ_BENCHMARK
bool
default n
config STACKTRACE_SUPPORT
def_bool y
if KASAN
config KASAN_SHADOW_OFFSET
hex "KASAN shadow offset"
default "0"
config KASAN_SHADOW_SIZE
hex "KASAN shadow size"
default "0"
endif
config BUILTIN_CMDLINE
string "Built-in kernel command string"
default ""
help
Enter arguments here that should be compiled into the kernel
image and used at boot time. The command line provided to
lkl_start_kernel is appended to this string to form the full
command line.
config LKL_HOST_MEMCPY
bool "Host provides memcpy"
default n
help
This options should be set (in tools/lkl/Makefile.autoconf)
if the host provides a memcpy implementation.
config LKL_HOST_MEMSET
bool "Host provides memset"
default n
help
This options should be set (in tools/lkl/Makefile.autoconf)
if the host provides a memset implementation.
config LKL_HOST_MEMMOVE
bool "Host provides memmove"
default n
help
This options should be set (in tools/lkl/Makefile.autoconf)
if the host provides a memmove implementation.