-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathKconfig
More file actions
203 lines (139 loc) · 4.01 KB
/
Copy pathKconfig
File metadata and controls
203 lines (139 loc) · 4.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
menu "CPU"
config PER_CPU_BOOT_STACK_SIZE_SHIFT
int "Per CPU boot stack size shift"
default 16
help
Sets the size of each CPU's kernel boot stack as a power of two.
The stack size is calculated as:
1 << PER_CPU_BOOT_STACK_SIZE_SHIFT
For example, a value of 16 gives each CPU a 64 KiB stack:
1 << 16 = 65536 bytes
The per CPU stacks are embedded in the kernel ELF image.
config PER_TASK_STACK_SIZE_SHIFT
int "Per Task stack size shift"
default 16
help
Sets the size of stack allocated dynamically for each task
The stack size is calculated as:
1 << PER_TASK_STACK_SIZE_SHIFT
For example, a value of 16 gives each TASK a 64 KiB stack:
1 << 16 = 65536 bytes
config MAX_CPU_COUNT
int "Maximum number of CPUs"
default 8
help
Sets the maximum number of CPUs that the kernel supports.
endmenu
menu "Memory"
config VM_MAX_USER_ALLOCATIONS
int "Maximum number vm allocation per user process"
default 256
help
Sets the maximum number of vm allocations a user process is allowed to do
endmenu
menu "Scheduler"
choice SCHEDULER_POLICY
prompt "Scheduler policy"
default SCHEDULER_POLICY_ROUND_ROBIN
help
Selects the scheduling policy used to choose the next runnable task.
config SCHEDULER_POLICY_ROUND_ROBIN
bool "Round robin"
help
Schedules runnable tasks in a circular order.
Each task receives a (somewhat) fixed time slice before the scheduler moves
to another runnable task.
endchoice
config TIMER_RESCHED_MS
int "Scheduler time slice (milliseconds)"
default 100
help
Sets the interval between scheduler timer interrupts in milliseconds.
When the timer expires, the scheduler may preempt the currently
running task and select another runnable task.
endmenu
menu "Building"
config WARNING_AS_ERROR
bool "Treat warnings as errors"
default y
choice OPTIMIZATIONS
prompt "Optimization level"
default OPTIMIZATIONS_NONE
help
Selects the compiler optimization level used when building the kernel.
config OPTIMIZATIONS_NONE
bool "None"
config OPTIMIZATIONS_LOW
bool "Low"
config OPTIMIZATIONS_MEDIUM
bool "Medium"
config OPTIMIZATIONS_HIGH
bool "High (recommended)"
config OPTIMIZATIONS_MAX
bool "Maximum"
endchoice
endmenu
menu "Drivers"
config MAX_ACTIVE_DEVICES_COUNT
int "Maximum number of active devices"
default 256
help
Sets the maximum number of devices that can be active in the kernel
at the same time.
endmenu
menu "QEMU"
config QEMU_CPU_COUNT
int "Number of CPUs"
default 4
help
Sets the number of virtual CPUs provided to the kernel when running
under QEMU.
This setting controls the QEMU virtual machine configuration and
should not exceed MAX_CPU_COUNT.
config QEMU_PHYSICAL_MEMORY_MB
int "Physical memory (MB)"
default 128
help
Sets the amount of physical memory provided to the kernel by QEMU,
in megabytes.
For example, a value of 128 provides the virtual machine with
128 MiB of physical memory.
config QEMU_WITH_DISPLAY
bool "With display"
default false
help
Enable display
endmenu
menu "Hacking"
config DEBUG_CHECKS
bool "Enable debug checks"
default y
help
Enables additional runtime checks.
config DEBUG_SYMBOLS
bool "Include debug symbols"
default y
help
Includes debugging symbols in the kernel build.
config ENABLE_SEMIHOSTING
bool "Enable semihosting support"
default n
help
Enables semihosting support
choice LOGGING_LEVEL
prompt "Default logging level"
default LOGGING_LEVEL_DEBUG
help
Sets the minimum logging level, this can be overidden at runtime.
config LOGGING_LEVEL_TRACE
bool "Trace"
config LOGGING_LEVEL_DEBUG
bool "Debug"
config LOGGING_LEVEL_INFO
bool "Info"
config LOGGING_LEVEL_WARN
bool "Warning"
config LOGGING_LEVEL_ERROR
bool "Error"
endchoice
endmenu