1
1
config LKL
2
- def_bool y
3
- depends on !SMP && !COREDUMP && !SECCOMP && !UPROBES && !COMPAT && !USER_RETURN_NOTIFIER
4
- select ARCH_THREAD_STACK_ALLOCATOR
5
- select GENERIC_ATOMIC64
6
- select GENERIC_HWEIGHT
7
- select FLATMEM
8
- select GENERIC_CLOCKEVENTS
9
- select GENERIC_CPU_DEVICES
10
- select NO_HZ_IDLE
11
- select NO_PREEMPT
12
- select ARCH_WANT_FRAME_POINTERS
13
- select UACCESS_MEMCPY
14
- select GENERIC_STRNCPY_FROM_USER
15
- select GENERIC_STRNLEN_USER
16
- select HAVE_ARCH_KASAN
17
- select TRACING
2
+ def_bool y
3
+ depends on !SMP && !COREDUMP && !SECCOMP && !UPROBES && !COMPAT && !USER_RETURN_NOTIFIER
4
+ select ARCH_THREAD_STACK_ALLOCATOR
5
+ select GENERIC_ATOMIC64
6
+ select GENERIC_HWEIGHT
7
+ select FLATMEM
8
+ select GENERIC_CLOCKEVENTS
9
+ select GENERIC_CPU_DEVICES
10
+ select NO_HZ_IDLE
11
+ select NO_PREEMPT
12
+ select ARCH_WANT_FRAME_POINTERS
13
+ select UACCESS_MEMCPY
14
+ select GENERIC_STRNCPY_FROM_USER
15
+ select GENERIC_STRNLEN_USER
16
+ select HAVE_ARCH_KASAN
17
+ select TRACING
18
18
19
19
config LKL_FUZZING
20
- bool "LLVM fuzzing instrumentation"
21
- default n
22
- help
23
- This configuration option enables fuzzing instrumentation
24
- for the Linux kernel source files to enable coverage-guided
25
- fuzzing. At the moment LKL supports libFuzzer fuzzing
26
- engine only.
20
+ bool "LLVM fuzzing instrumentation"
21
+ default n
22
+ help
23
+ This configuration option enables fuzzing instrumentation
24
+ for the Linux kernel source files to enable coverage-guided
25
+ fuzzing. At the moment LKL supports libFuzzer fuzzing
26
+ engine only.
27
27
28
28
config LKL_LINE_COV
29
- bool "Code coverage instrumentation for fuzzers"
30
- depends on LKL_FUZZING && CC_IS_CLANG
31
- default n
32
- help
33
- This configuration option enables line code coverage
34
- instrumentation for the Linux kernel to generate fuzzing
35
- code coverage reports. When this option is enabled the
36
- kernel source files are built with LLVM SanitizerCoverage
37
- instrumentation.
29
+ bool "Code coverage instrumentation for fuzzers"
30
+ depends on LKL_FUZZING && CC_IS_CLANG
31
+ default n
32
+ help
33
+ This configuration option enables line code coverage
34
+ instrumentation for the Linux kernel to generate fuzzing
35
+ code coverage reports. When this option is enabled the
36
+ kernel source files are built with LLVM SanitizerCoverage
37
+ instrumentation.
38
38
39
39
config OUTPUT_FORMAT
40
- string "Output format"
41
- default ""
40
+ string "Output format"
41
+ default $(shell,$(srctree)/arch/lkl/scripts/cc-objdump-file-format.sh)
42
42
43
43
config ARCH_DMA_ADDR_T_64BIT
44
- def_bool 64BIT
44
+ def_bool 64BIT
45
45
46
46
config PHYS_ADDR_T_64BIT
47
- def_bool 64BIT
47
+ def_bool 64BIT
48
48
49
49
config 64BIT
50
- bool "64bit kernel"
51
- default n
50
+ bool "64bit kernel"
51
+ default y if OUTPUT_FORMAT = "pe-x86-64"
52
+ default $(success,$(srctree)/arch/lkl/scripts/cc-objdump-file-format.sh|grep -q '^elf64-') if OUTPUT_FORMAT != "pe-x86-64"
52
53
53
54
config MMU
54
- bool "LKL MMU implementation"
55
- depends on 64BIT
56
- default n
55
+ bool "LKL MMU implementation"
56
+ depends on 64BIT
57
+ default n
57
58
58
59
if MMU
59
60
config PGTABLE_LEVELS
60
- int
61
- default 3
61
+ int
62
+ default 3
62
63
63
64
config LKL_MEMORY_START
64
- hex
65
- default 0x50000000
66
- help
67
- Base address of kernel virtual address space for LKL. No particular
68
- reason for picking this specific value. It is assumed that the host
69
- mmap is able to map requested amount of memory at this address.
70
- STACK_TOP and VMALLOC_START values depend on it.
71
-
65
+ hex
66
+ default 0x50000000
67
+ help
68
+ Base address of kernel virtual address space for LKL. No particular
69
+ reason for picking this specific value. It is assumed that the host
70
+ mmap is able to map requested amount of memory at this address.
71
+ STACK_TOP and VMALLOC_START values depend on it.
72
72
73
73
config LKL_TASK_UNMAPPED_BASE
74
- hex
75
- default 0x100000
76
- help
77
- Starting virtual address for LKL user-space mmap. It is assumed that
78
- the host mmap is able to map requested amount of memory starting from
79
- this address.
74
+ hex
75
+ default 0x100000
76
+ help
77
+ Starting virtual address for LKL user-space mmap. It is assumed that
78
+ the host mmap is able to map requested amount of memory starting from
79
+ this address.
80
80
81
81
config LKL_MMU_KUNIT_TEST
82
- bool "Kunit tests for LKL MMU"
83
- default n
84
- depends on KUNIT
85
- help
86
- Kunit tests to test correctness of MMU-related kernel interfaces (such
87
- as vmalloc, for example) which are difficult to test in user-space.
82
+ bool "Kunit tests for LKL MMU"
83
+ default n
84
+ depends on KUNIT
85
+ help
86
+ Kunit tests to test correctness of MMU-related kernel interfaces (such
87
+ as vmalloc, for example) which are difficult to test in user-space.
88
88
endif
89
89
90
90
config COREDUMP
91
- def_bool n
91
+ def_bool n
92
92
93
93
config CPU_BIG_ENDIAN
94
- bool "Big-endian kernel"
95
- default n
94
+ bool "Big-endian kernel"
95
+ default y if OUTPUT_FORMAT = "elf64-s390"
96
+ default n if OUTPUT_FORMAT != "elf64-s390"
96
97
97
98
config GENERIC_CSUM
98
- def_bool y
99
+ def_bool y
99
100
100
101
config GENERIC_HWEIGHT
101
- def_bool y
102
+ def_bool y
102
103
103
104
config NO_IOPORT_MAP
104
- def_bool y
105
+ def_bool y
105
106
106
107
config HZ
107
- int
108
- default 100
108
+ int
109
+ default 100
109
110
110
111
config CONSOLE_LOGLEVEL_QUIET
111
112
int "quiet console loglevel (1-15)"
@@ -131,16 +132,18 @@ config RAID6_PQ_BENCHMARK
131
132
default n
132
133
133
134
config STACKTRACE_SUPPORT
134
- def_bool y
135
+ def_bool y
135
136
136
137
if KASAN
137
138
config KASAN_SHADOW_OFFSET
138
- hex "KASAN shadow offset"
139
- default "0"
139
+ hex "KASAN shadow offset"
140
+ default "0x0000200000000000" if OUTPUT_FORMAT = "elf64-x86-64"
141
+ default "0" if OUTPUT_FORMAT != "elf64-x86-64"
140
142
141
143
config KASAN_SHADOW_SIZE
142
- hex "KASAN shadow size"
143
- default "0"
144
+ hex "KASAN shadow size"
145
+ default "0x0000100000000000" if OUTPUT_FORMAT = "elf64-x86-64"
146
+ default "0" if OUTPUT_FORMAT != "elf64-x86-64"
144
147
endif
145
148
146
149
config BUILTIN_CMDLINE
@@ -154,21 +157,22 @@ config BUILTIN_CMDLINE
154
157
155
158
config LKL_HOST_MEMCPY
156
159
bool "Host provides memcpy"
157
- default n
160
+ default $(success,$(srctree)/arch/lkl/scripts/cc-objdump-file-format.sh|grep -q '^elf64-') if 64BIT
161
+ default $(success,$(srctree)/arch/lkl/scripts/cc-objdump-file-format.sh|grep -q '^elf32-') if !64BIT
158
162
help
159
- This options should be set (in tools/lkl/Makefile.autoconf)
160
- if the host provides a memcpy implementation .
163
+ Set to "y" if LKL should call the host memcpy hook instead of
164
+ performing memory copies manually .
161
165
162
166
config LKL_HOST_MEMSET
163
167
bool "Host provides memset"
164
- default n
168
+ default LKL_HOST_MEMCPY
165
169
help
166
- This options should be set (in tools/lkl/Makefile.autoconf)
167
- if the host provides a memset implementation .
170
+ Set to "y" if LKL should call the host memset hook instead of
171
+ performing memory sets manually .
168
172
169
173
config LKL_HOST_MEMMOVE
170
174
bool "Host provides memmove"
171
- default n
175
+ default LKL_HOST_MEMCPY
172
176
help
173
- This options should be set (in tools/lkl/Makefile.autoconf)
174
- if the host provides a memmove implementation .
177
+ Set to "y" if LKL should call the host memmove hook instead of
178
+ performing memory moves manually .
0 commit comments