Build kernel using meson
[helenos.git] / HelenOS.config
blobbfa4b2f0529aabd5cad15f07e4310697dc6adc7c
2 # Copyright (c) 2006 Ondrej Palkovsky
3 # Copyright (c) 2009 Martin Decky
4 # All rights reserved.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
10 # - Redistributions of source code must retain the above copyright
11 #   notice, this list of conditions and the following disclaimer.
12 # - Redistributions in binary form must reproduce the above copyright
13 #   notice, this list of conditions and the following disclaimer in the
14 #   documentation and/or other materials provided with the distribution.
15 # - The name of the author may not be used to endorse or promote products
16 #   derived from this software without specific prior written permission.
18 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 ## General platform options
32 % Platform
33 @ "abs32le" abstract 32-bit little endian
34 @ "amd64" AMD64/EM64T 64-bit (PC)
35 @ "arm32" ARM 32-bit
36 @ "arm64" ARM 64-bit (AArch64)
37 @ "ia32" IA-32 32-bit (PC)
38 @ "ia64" IA-64 64-bit
39 @ "mips32" MIPS 32-bit
40 @ "ppc32" PowerPC 32-bit
41 @ "riscv64" RISC-V 64-bit
42 @ "sparc64" SPARCv9 64-bit
43 ! PLATFORM (choice)
45 % Machine type
46 @ "msim" MSIM
47 @ "bmalta" MIPS Malta Development Board big endian
48 @ "lmalta" MIPS Malta Development Board little endian
49 ! [PLATFORM=mips32] MACHINE (choice)
51 % Machine type
52 @ "i460GX" i460GX chipset machine
53 @ "ski" Ski ia64 simulator
54 ! [PLATFORM=ia64] MACHINE (choice)
56 % Machine type
57 @ "generic" Generic Sun workstation or server
58 ! [PLATFORM=sparc64] MACHINE (choice)
60 % Machine type
61 @ "gta02" GTA02 / Neo FreeRunner
62 @ "integratorcp" Integratorcp
63 @ "beagleboardxm" BeagleBoard-xM
64 @ "beaglebone" BeagleBone
65 @ "raspberrypi" Raspberry Pi
66 ! [PLATFORM=arm32] MACHINE (choice)
68 % Machine type
69 @ "virt" QEMU virt
70 ! [PLATFORM=arm64] MACHINE (choice)
72 % CPU type
73 @ "pentium4" Pentium 4
74 @ "pentium3" Pentium 3
75 @ "core" Core Solo/Duo
76 @ "athlon_xp" Athlon XP
77 @ "athlon_mp" Athlon MP
78 @ "i486" i486
79 ! [PLATFORM=ia32] PROCESSOR (choice)
81 % CPU type
82 @ "opteron" Opteron
83 ! [PLATFORM=amd64] PROCESSOR (choice)
85 % CPU type
86 @ "us" UltraSPARC I-II subarchitecture
87 @ "us3" UltraSPARC III-IV subarchitecture
88 @ "sun4v" Niagara (sun4v)
89 ! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
91 % Quad float type
92 @ "hard" Hardware
93 @ "soft" Software
94 ! [PLATFORM=sparc64] QUADFLOAT (choice)
96 % CPU type
97 @ "cortex_a8" ARM Cortex A-8
98 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice)
100 % CPU type
101 @ "arm920t" ARM920T
102 ! [PLATFORM=arm32&MACHINE=gta02] PROCESSOR (choice)
104 % CPU type
105 @ "arm926ej_s" ARM926EJ-S
106 ! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice)
108 % CPU type
109 @ "arm1176jzf_s" ARM1176JZF-S
110 ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice)
112 # Add more ARMv4 CPUs
113 % CPU arch
114 @ "armv4" ARMv4
115 ! [PLATFORM=arm32&(PROCESSOR=arm920t)] PROCESSOR_ARCH (choice)
117 # Add more ARMv5 CPUs
118 % CPU arch
119 @ "armv5" ARMv5
120 ! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice)
122 # Add more ARMv6 CPUs
123 % CPU arch
124 @ "armv6" ARMv6
125 ! [PLATFORM=arm32&(PROCESSOR=arm1176jzf_s)] PROCESSOR_ARCH (choice)
127 # Add more ARMv7-A CPUs
128 % CPU arch
129 @ "armv7_a" ARMv7-A
130 ! [PLATFORM=arm32&(PROCESSOR=cortex_a8)] PROCESSOR_ARCH (choice)
132 % CPU type
133 @ "R4000" MIPS R4000
134 ! [PLATFORM=mips32&MACHINE=msim] PROCESSOR (choice)
136 % CPU type
137 @ "4Kc" MIPS 4Kc
138 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] PROCESSOR (choice)
140 % Kernel memory model
141 @ "kernel" Kernel
142 @ "large" Large
143 ! [PLATFORM=amd64] MEMORY_MODEL (choice)
145 % RAM disk format
146 @ "tmpfs" TMPFS image
147 @ "fat" FAT16 image
148 @ "ext4fs" ext4 image
149 ! RDFMT (choice)
152 ## Mapping between platform and kernel architecture
154 % Kernel architecture
155 @ "abs32le"
156 ! [PLATFORM=abs32le] KARCH (choice)
158 % Kernel architecture
159 @ "amd64"
160 ! [PLATFORM=amd64] KARCH (choice)
162 % Kernel architecture
163 @ "arm32"
164 ! [PLATFORM=arm32] KARCH (choice)
166 % Kernel architecture
167 @ "arm64"
168 ! [PLATFORM=arm64] KARCH (choice)
170 % Kernel architecture
171 @ "ia32"
172 ! [PLATFORM=ia32] KARCH (choice)
174 % Kernel architecture
175 @ "ia32xen"
176 ! [PLATFORM=ia32xen] KARCH (choice)
178 % Kernel architecture
179 @ "ia64"
180 ! [PLATFORM=ia64] KARCH (choice)
182 % Kernel architecture
183 @ "mips32"
184 ! [PLATFORM=mips32] KARCH (choice)
186 % Kernel architecture
187 @ "ppc32"
188 ! [PLATFORM=ppc32] KARCH (choice)
190 % Kernel architecture
191 @ "ppc64"
192 ! [PLATFORM=ppc64] KARCH (choice)
194 % Kernel architecture
195 @ "riscv64"
196 ! [PLATFORM=riscv64] KARCH (choice)
198 % Kernel architecture
199 @ "sparc64"
200 ! [PLATFORM=sparc64] KARCH (choice)
203 ## Mapping between platform and user space architecture
205 % User space architecture
206 @ "abs32le"
207 ! [PLATFORM=abs32le] UARCH (choice)
209 % User space architecture
210 @ "amd64"
211 ! [PLATFORM=amd64] UARCH (choice)
213 % User space architecture
214 @ "arm32"
215 ! [PLATFORM=arm32] UARCH (choice)
217 % User space architecture
218 @ "arm64"
219 ! [PLATFORM=arm64] UARCH (choice)
221 % User space architecture
222 @ "ia32"
223 ! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
225 % User space architecture
226 @ "ia64"
227 ! [PLATFORM=ia64] UARCH (choice)
229 % User space architecture
230 @ "mips32"
231 ! [PLATFORM=mips32] UARCH (choice)
233 % User space architecture
234 @ "ppc32"
235 ! [PLATFORM=ppc32] UARCH (choice)
237 % User space architecture
238 @ "ppc64"
239 ! [PLATFORM=ppc64] UARCH (choice)
241 % User space architecture
242 @ "riscv64"
243 ! [PLATFORM=riscv64] UARCH (choice)
245 % User space architecture
246 @ "sparc64"
247 ! [PLATFORM=sparc64] UARCH (choice)
250 ## Mapping between platform and boot architecture
252 % Boot architecture
253 @ "abs32le"
254 ! [PLATFORM=abs32le] BARCH (choice)
256 % Boot architecture
257 @ "amd64"
258 ! [PLATFORM=amd64] BARCH (choice)
260 % Boot architecture
261 @ "arm32"
262 ! [PLATFORM=arm32] BARCH (choice)
264 % Boot architecture
265 @ "arm64"
266 ! [PLATFORM=arm64] BARCH (choice)
268 % Boot architecture
269 @ "ia32"
270 ! [PLATFORM=ia32] BARCH (choice)
272 % Boot architecture
273 @ "ia32xen"
274 ! [PLATFORM=ia32xen] BARCH (choice)
276 % Boot architecture
277 @ "ia64"
278 ! [PLATFORM=ia64] BARCH (choice)
280 % Boot architecture
281 @ "mips32"
282 ! [PLATFORM=mips32] BARCH (choice)
284 % Boot architecture
285 @ "ppc32"
286 ! [PLATFORM=ppc32] BARCH (choice)
288 % Boot architecture
289 @ "ppc64"
290 ! [PLATFORM=ppc64] BARCH (choice)
292 % Boot architecture
293 @ "riscv64"
294 ! [PLATFORM=riscv64] BARCH (choice)
296 % Boot architecture
297 @ "sparc64"
298 ! [PLATFORM=sparc64] BARCH (choice)
301 ## Mapping between platform and image format
303 % Image format
304 @ "binary"
305 ! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
307 % Image format
308 @ "elf"
309 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] IMAGE (choice)
312 ## Compiler options
314 % Compiler
315 @ "gcc_cross" GNU C Compiler (HelenOS-specific cross-compiler)
316 @ "clang" Clang
317 ! COMPILER (choice)
319 % Clang Integrated Assembler
320 @ "default" Use architecture default.
321 @ "yes" Use integrated assembler.
322 @ "no" Use GNU Assembler.
323 ! [COMPILER=clang] INTEGRATED_AS (choice)
325 ## Cross-compiler target for abstract architecture
327 % Cross-compiler target
328 @ "arm32" ARM 32-bit
329 @ "ia32" Intel IA-32
330 @ "mips32" MIPS 32-bit
331 ! [PLATFORM=abs32le&COMPILER=gcc_cross] CROSS_TARGET (choice)
334 ## Kernel configuration
336 % Fences
337 ! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
339 % Fences
340 ! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
342 % Fences
343 ! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
345 % IOMAP bitmap support
346 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_IOMAP_BITMAP (y)
348 % IOMAP dummy support
349 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_IOMAP_DUMMY (y)
351 % ACPI support
352 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
354 % Hierarchical page tables support
355 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64] CONFIG_PAGE_PT (y)
357 % Page hash table support
358 ! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
360 % Software integer division support
361 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
363 % ASID support
364 ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
366 % ASID FIFO support
367 ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
369 % OpenFirmware tree support
370 ! [PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_OFW_TREE (y)
372 % OpenFirmware PCI bus support
373 ! [PLATFORM=sparc64] CONFIG_OFW_PCI (y)
375 % Multiboot standard support
376 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
378 % FPU support
379 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_FPU (y)
381 ## ARMv7 made FPU hardware compulsory
382 % FPU support
383 ! [PLATFORM=arm32&PROCESSOR_ARCH=armv7_a] CONFIG_FPU (y)
385 % FPU support
386 ! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_FPU (y)
389 ## Kernel features options
391 % Support for SMP
392 ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
394 % Debug build
395 ! CONFIG_DEBUG (y/n)
397 % Sanitize undefined behavior (userspace)
398 ! CONFIG_UBSAN (n/y)
400 % Sanitize undefined behavior (kernel)
401 ! CONFIG_UBSAN_KERNEL (n/y)
403 % Track owner for futexes in userspace.
404 ! CONFIG_DEBUG_FUTEX (y/n)
406 % Deadlock detection support for spinlocks
407 ! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
409 % Lazy FPU context switching
410 ! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
412 % Use VHPT
413 ! [PLATFORM=ia64] CONFIG_VHPT (n/y)
415 % Use TSB
416 ! [PLATFORM=sparc64] CONFIG_TSB (y/n)
418 % IO SAPIC on default address support
419 ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
421 % Support for Intel i8259 PIC
422 ! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=mips32&MACHINE=bmalta)|(PLATFORM=mips32&MACHINE=lmalta)] CONFIG_I8259 (y)
424 % Virtually indexed D-cache support
425 ! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
427 % Support for userspace debuggers
428 ! CONFIG_UDEBUG (y/n)
430 % Kernel console support
431 ! CONFIG_KCONSOLE (y/n)
433 % Kernel symbol information
434 ! CONFIG_SYMTAB (y/n)
436 % Detailed kernel logging
437 ! CONFIG_LOG (n/y)
439 % Kernel function tracing
440 ! CONFIG_TRACE (n/y)
442 % Compile kernel tests
443 ! CONFIG_TEST (y/n)
445 % Use link-time optimization
446 ! [COMPILER=gcc_cross] CONFIG_LTO (n/y)
448 % Compress init data
449 ! CONFIG_COMPRESSED_INIT (y/n)
451 ## User space features options
453 ## Hardware support
455 % Input device class
456 @ "generic" Keyboard or serial line
457 ! [(PLATFORM=arm32&MACHINE=integratorcp)|PLATFORM=arm64] CONFIG_HID_IN (choice)
459 % Input device class
460 @ "generic" Keyboard or serial line
461 @ "none" No input device
462 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_HID_IN (choice)
464 % Input device class
465 @ "generic" Keyboard or serial line
466 @ "keyboard" Keyboard
467 @ "serial" Serial line
468 @ "none" No input device
469 ! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
471 % Output device class
472 @ "generic" Monitor or serial line
473 ! [(PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi))|PLATFORM=arm64] CONFIG_HID_OUT (choice)
475 % Output device class
476 @ "generic" Monitor or serial line
477 @ "none" No output device
478 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ppc32|(PLATFORM=ia64&MACHINE=i460GX)|(PLATFORM=mips32&(MACHINE=msim|MACHINE=bmalta|MACHINE=lmalta))|PLATFORM=riscv64] CONFIG_HID_OUT (choice)
480 % PC keyboard support
481 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
483 % PC keyboard support
484 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
486 % PC keyboard support
487 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_AT_KBD (y/n)
489 % Support for msim keyboard
490 ! [CONFIG_HID_IN=generic&MACHINE=msim] CONFIG_MSIM_KBD (y/n)
492 % Support for msim printer
493 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&MACHINE=msim] CONFIG_MSIM_PRN (y/n)
495 % Support for VIA CUDA controller
496 ! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
498 % Support for NS16550 controller
499 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
501 % Support for NS16550 controller
502 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
504 % Support for NS16550 controller
505 ! [CONFIG_HID_IN=generic&PLATFORM=mips32&(MACHINE=lmalta|MACHINE=bmalta)] CONFIG_NS16550 (y)
507 % Support for PL011 UART
508 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi))] CONFIG_PL011_UART (y/n)
510 % Support for PL011 UART
511 ! [CONFIG_HID_OUT=generic|(PLATFORM=arm64&MACHINE=virt)] CONFIG_PL011_UART (y)
513 % Support for NS16550 controller (kernel console)
514 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial|CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_NS16550_KCON (y/n)
516 % Use NS16550 controller as serial input (kernel console)
517 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550 (y)
519 % Use NS16550 controller as dummy serial output (kernel console)
520 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550_OUT (y)
522 % Use NS16550 controller as dummy serial output (kernel console)
523 ! [CONFIG_HID_OUT=generic&PLATFORM=mips32&(MACHINE=lmalta|MACHINE=bmalta)] CONFIG_NS16550_OUT (y)
525 % Support for Samsung S3C24XX on-chip UART
526 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_UART (y/n)
528 % Support for Samsung S3C24XX on-chip interrupt controller
529 ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y)
531 % Support for TI AM335x timers support
532 ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y)
534 % Support for OMAP on-chip UART
535 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n)
537 % Support for BCM2835 mailbox
538 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n)
540 % Support for ARM GICv2
541 ! [PLATFORM=arm64&MACHINE=virt] CONFIG_GICV2 (y)
543 % Support for i8042 controller
544 ! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
546 % Support for pl050 controller
547 ! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y)
549 % Sun keyboard support
550 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_KBD (y)
552 % Sun serial console support
553 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_TTY (y)
555 % Macintosh ADB keyboard support
556 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y)
558 % Dummy serial line input
559 ! [CONFIG_MSIM_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
561 % Dummy serial line output
562 ! [CONFIG_MSIM_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
564 % Serial line input module
565 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_PL011_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=arm64&CONFIG_PL011_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)|(PLATFORM=arm32&MACHINE=raspberrypi&CONFIG_PL011_UART=y)|(PLATFORM=ia32&CONFIG_NS16550=y)|(PLATFORM=amd64&CONFIG_NS16550=y)|(PLATFORM=mips32&CONFIG_NS16550=y)|(PLATFORM=sparc64&CONFIG_SUN_TTY=y)] CONFIG_SRLN (y)
567 % L4Re uvmm print hypercall support
568 ! [PLATFORM=amd64] CONFIG_L4RE_UVMM_EARLY_PRINT (n/y)
570 % EGA support
571 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
573 % EGA support
574 ! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
576 % Framebuffer support
577 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
579 % Framebuffer support
580 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
582 % Framebuffer support
583 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
585 % Default framebuffer mode
586 @ "640x480"
587 @ "800x600"
588 @ "1024x768"
589 @ "1152x720"
590 @ "1152x864"
591 @ "1280x720"
592 @ "1280x800"
593 @ "1280x960"
594 @ "1280x1024"
595 @ "1400x1050"
596 @ "1440x900"
597 @ "1440x1050"
598 @ "1600x1200"
599 @ "1920x1080"
600 @ "1920x1200"
601 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_MODE (choice)
603 % Default framebuffer depth
604 @ "8"
605 @ "16"
606 @ "24"
607 @ "32"
608 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_BPP (choice)
610 % Start AP processors by the loader
611 ! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
613 % Dynamic linking support
614 ! [PLATFORM=amd64|PLATFORM=arm32|PLATFORM=ia32|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_RTLD (y/n)
615 ! [PLATFORM=abs32le|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=riscv64] CONFIG_RTLD (n)
617 % Build shared libraries
618 ! [CONFIG_RTLD=y] CONFIG_BUILD_SHARED_LIBS (n/y)
619 ! [CONFIG_RTLD=n] CONFIG_BUILD_SHARED_LIBS (n)
621 % Link against shared libraries
622 ! [CONFIG_BUILD_SHARED_LIBS=y] CONFIG_USE_SHARED_LIBS (n/y)
623 ! [CONFIG_BUILD_SHARED_LIBS=n] CONFIG_USE_SHARED_LIBS (n)
625 % Launch (devman) test drivers
626 ! [CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (n/y)
628 % Write core files
629 ! CONFIG_WRITE_CORE_FILES (n/y)
631 % Include userspace unit tests (PCUT)
632 ! CONFIG_PCUT_TESTS (n/y)
634 % Include PCUT self-tests
635 ! CONFIG_PCUT_SELF_TESTS (n/y)
637 % Include development files (headers, libraries)
638 ! CONFIG_DEVEL_FILES (n/y)
640 % Strip binaries
641 ! CONFIG_STRIP_BINARIES (n/y)
643 % Strip revision information (helpful when comparing outputs)
644 ! CONFIG_STRIP_REVISION_INFO (n/y)
646 % Optimization level
647 @ "3" Level 3 (recommended).
648 @ "2" Level 2.
649 @ "1" Level 1.
650 @ "0" Disable optimizations.
651 @ "s" Optimize for size.
652 @ "g" Enable only optimizations that don't harm debugging.
653 @ "fast" Level 3 + aggressive optimizations that can affect adherence to standards.
654 ! OPTIMIZATION (choice)
656 % Barebone build with essential binaries only
657 ! CONFIG_BAREBONE (n/y)
659 % Line debugging information
660 ! [CONFIG_STRIP_BINARIES!=y] CONFIG_LINE_DEBUG (n/y)
662 # USB settings
664 % Start virtual USB host controller
665 ! CONFIG_RUN_VIRTUAL_USB_HC (n/y)
667 % OHCI root hub port power switching
668 @ "no" All root hub ports are always powered.
669 @ "ganged" Root hub ports are all powered or all off.
670 @ "per_port" Powered status of every root hub port is independent.
671 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32] OHCI_POWER_SWITCH (choice)
673 % GRUB boot loader architecture
674 @ "pc" GRUB for PC
675 @ "efi" GRUB for UEFI
676 ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice)
678 % GRUB boot loader architecture
679 @ "efi" GRUB for UEFI
680 ! [PLATFORM=arm64&MACHINE=virt] GRUB_ARCH (choice)
682 % uImage OS type
683 @ "2" NetBSD stage 2 boot loader
684 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice)
686 % uImage OS type
687 @ "5" Linux kernel
688 ! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)