Ensure buffer is really big enough
[helenos.git] / HelenOS.config
blob5f47fad867e1aef03ba915ca0697e9cb9e51385b
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 @ "hikey960" HiKey 960
71 ! [PLATFORM=arm64] MACHINE (choice)
73 % CPU type
74 @ "pentium4" Pentium 4
75 @ "pentium3" Pentium 3
76 @ "core" Core Solo/Duo
77 @ "athlon_xp" Athlon XP
78 @ "athlon_mp" Athlon MP
79 @ "i486" i486
80 ! [PLATFORM=ia32] PROCESSOR (choice)
82 % CPU type
83 @ "opteron" Opteron
84 ! [PLATFORM=amd64] PROCESSOR (choice)
86 % CPU type
87 @ "us" UltraSPARC I-II subarchitecture
88 @ "us3" UltraSPARC III-IV subarchitecture
89 @ "sun4v" Niagara (sun4v)
90 ! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
92 % Quad float type
93 @ "hard" Hardware
94 @ "soft" Software
95 ! [PLATFORM=sparc64] QUADFLOAT (choice)
97 % CPU type
98 @ "cortex_a8" ARM Cortex A-8
99 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice)
101 % CPU type
102 @ "arm920t" ARM920T
103 ! [PLATFORM=arm32&MACHINE=gta02] PROCESSOR (choice)
105 % CPU type
106 @ "arm926ej_s" ARM926EJ-S
107 ! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice)
109 % CPU type
110 @ "arm1176jzf_s" ARM1176JZF-S
111 ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice)
113 # Add more ARMv4 CPUs
114 % CPU arch
115 @ "armv4" ARMv4
116 ! [PLATFORM=arm32&(PROCESSOR=arm920t)] PROCESSOR_ARCH (choice)
118 # Add more ARMv5 CPUs
119 % CPU arch
120 @ "armv5" ARMv5
121 ! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice)
123 # Add more ARMv6 CPUs
124 % CPU arch
125 @ "armv6" ARMv6
126 ! [PLATFORM=arm32&(PROCESSOR=arm1176jzf_s)] PROCESSOR_ARCH (choice)
128 # Add more ARMv7-A CPUs
129 % CPU arch
130 @ "armv7_a" ARMv7-A
131 ! [PLATFORM=arm32&(PROCESSOR=cortex_a8)] PROCESSOR_ARCH (choice)
133 % CPU type
134 @ "R4000" MIPS R4000
135 ! [PLATFORM=mips32&MACHINE=msim] PROCESSOR (choice)
137 % CPU type
138 @ "4Kc" MIPS 4Kc
139 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] PROCESSOR (choice)
141 % Kernel memory model
142 @ "kernel" Kernel
143 @ "large" Large
144 ! [PLATFORM=amd64] MEMORY_MODEL (choice)
146 % RAM disk format
147 @ "tmpfs" TMPFS image
148 @ "fat" FAT16 image
149 @ "ext4fs" ext4 image
150 ! RDFMT (choice)
153 ## Mapping between platform and kernel architecture
155 % Kernel architecture
156 @ "abs32le"
157 ! [PLATFORM=abs32le] KARCH (choice)
159 % Kernel architecture
160 @ "amd64"
161 ! [PLATFORM=amd64] KARCH (choice)
163 % Kernel architecture
164 @ "arm32"
165 ! [PLATFORM=arm32] KARCH (choice)
167 % Kernel architecture
168 @ "arm64"
169 ! [PLATFORM=arm64] KARCH (choice)
171 % Kernel architecture
172 @ "ia32"
173 ! [PLATFORM=ia32] KARCH (choice)
175 % Kernel architecture
176 @ "ia32xen"
177 ! [PLATFORM=ia32xen] KARCH (choice)
179 % Kernel architecture
180 @ "ia64"
181 ! [PLATFORM=ia64] KARCH (choice)
183 % Kernel architecture
184 @ "mips32"
185 ! [PLATFORM=mips32] KARCH (choice)
187 % Kernel architecture
188 @ "ppc32"
189 ! [PLATFORM=ppc32] KARCH (choice)
191 % Kernel architecture
192 @ "ppc64"
193 ! [PLATFORM=ppc64] KARCH (choice)
195 % Kernel architecture
196 @ "riscv64"
197 ! [PLATFORM=riscv64] KARCH (choice)
199 % Kernel architecture
200 @ "sparc64"
201 ! [PLATFORM=sparc64] KARCH (choice)
204 ## Mapping between platform and user space architecture
206 % User space architecture
207 @ "abs32le"
208 ! [PLATFORM=abs32le] UARCH (choice)
210 % User space architecture
211 @ "amd64"
212 ! [PLATFORM=amd64] UARCH (choice)
214 % User space architecture
215 @ "arm32"
216 ! [PLATFORM=arm32] UARCH (choice)
218 % User space architecture
219 @ "arm64"
220 ! [PLATFORM=arm64] UARCH (choice)
222 % User space architecture
223 @ "ia32"
224 ! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
226 % User space architecture
227 @ "ia64"
228 ! [PLATFORM=ia64] UARCH (choice)
230 % User space architecture
231 @ "mips32"
232 ! [PLATFORM=mips32] UARCH (choice)
234 % User space architecture
235 @ "ppc32"
236 ! [PLATFORM=ppc32] UARCH (choice)
238 % User space architecture
239 @ "ppc64"
240 ! [PLATFORM=ppc64] UARCH (choice)
242 % User space architecture
243 @ "riscv64"
244 ! [PLATFORM=riscv64] UARCH (choice)
246 % User space architecture
247 @ "sparc64"
248 ! [PLATFORM=sparc64] UARCH (choice)
251 ## Mapping between platform and boot architecture
253 % Boot architecture
254 @ "abs32le"
255 ! [PLATFORM=abs32le] BARCH (choice)
257 % Boot architecture
258 @ "amd64"
259 ! [PLATFORM=amd64] BARCH (choice)
261 % Boot architecture
262 @ "arm32"
263 ! [PLATFORM=arm32] BARCH (choice)
265 % Boot architecture
266 @ "arm64"
267 ! [PLATFORM=arm64] BARCH (choice)
269 % Boot architecture
270 @ "ia32"
271 ! [PLATFORM=ia32] BARCH (choice)
273 % Boot architecture
274 @ "ia32xen"
275 ! [PLATFORM=ia32xen] BARCH (choice)
277 % Boot architecture
278 @ "ia64"
279 ! [PLATFORM=ia64] BARCH (choice)
281 % Boot architecture
282 @ "mips32"
283 ! [PLATFORM=mips32] BARCH (choice)
285 % Boot architecture
286 @ "ppc32"
287 ! [PLATFORM=ppc32] BARCH (choice)
289 % Boot architecture
290 @ "ppc64"
291 ! [PLATFORM=ppc64] BARCH (choice)
293 % Boot architecture
294 @ "riscv64"
295 ! [PLATFORM=riscv64] BARCH (choice)
297 % Boot architecture
298 @ "sparc64"
299 ! [PLATFORM=sparc64] BARCH (choice)
302 ## Mapping between platform and image format
304 % Image format
305 @ "binary"
306 ! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
308 % Image format
309 @ "elf"
310 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] IMAGE (choice)
313 ## Compiler options
315 % Compiler
316 @ "gcc_cross" GNU C Compiler (HelenOS-specific cross-compiler)
317 @ "clang" Clang
318 ! COMPILER (choice)
320 % Clang Integrated Assembler
321 @ "default" Use architecture default.
322 @ "yes" Use integrated assembler.
323 @ "no" Use GNU Assembler.
324 ! [COMPILER=clang] INTEGRATED_AS (choice)
326 ## Cross-compiler target for abstract architecture
328 % Cross-compiler target
329 @ "arm32" ARM 32-bit
330 @ "ia32" Intel IA-32
331 @ "mips32" MIPS 32-bit
332 ! [PLATFORM=abs32le&COMPILER=gcc_cross] CROSS_TARGET (choice)
335 ## Kernel configuration
337 % Fences
338 ! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
340 % Fences
341 ! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
343 % Fences
344 ! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
346 % IOMAP bitmap support
347 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_IOMAP_BITMAP (y)
349 % IOMAP dummy support
350 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_IOMAP_DUMMY (y)
352 % ACPI support
353 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
355 % Hierarchical page tables support
356 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64] CONFIG_PAGE_PT (y)
358 % Page hash table support
359 ! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
361 % Software integer division support
362 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
364 % ASID support
365 ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
367 % ASID FIFO support
368 ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
370 % OpenFirmware tree support
371 ! [PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_OFW_TREE (y)
373 % OpenFirmware PCI bus support
374 ! [PLATFORM=sparc64] CONFIG_OFW_PCI (y)
376 % Multiboot standard support
377 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
379 % FPU support
380 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_FPU (y)
382 ## ARMv7 made FPU hardware compulsory
383 % FPU support
384 ! [PLATFORM=arm32&PROCESSOR_ARCH=armv7_a] CONFIG_FPU (y)
386 % FPU support
387 ! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_FPU (y)
390 ## Kernel features options
392 % Support for SMP
393 ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
395 % Debug build
396 ! CONFIG_DEBUG (y/n)
398 % Early debugging print
399 ! [CONFIG_DEBUG=y] CONFIG_DEBUG_EARLY_PRINT (n/y)
401 % Sanitize undefined behavior (userspace)
402 ! CONFIG_UBSAN (n/y)
404 % Sanitize undefined behavior (kernel)
405 ! CONFIG_UBSAN_KERNEL (n/y)
407 % Track owner for futexes in userspace.
408 ! CONFIG_DEBUG_FUTEX (y/n)
410 % Deadlock detection support for spinlocks
411 ! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
413 % Lazy FPU context switching
414 ! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
416 % Use VHPT
417 ! [PLATFORM=ia64] CONFIG_VHPT (n/y)
419 % Use TSB
420 ! [PLATFORM=sparc64] CONFIG_TSB (y/n)
422 % IO SAPIC on default address support
423 ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
425 % Support for Intel i8259 PIC
426 ! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=mips32&MACHINE=bmalta)|(PLATFORM=mips32&MACHINE=lmalta)] CONFIG_I8259 (y)
428 % Virtually indexed D-cache support
429 ! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
431 % Support for userspace debuggers
432 ! CONFIG_UDEBUG (y/n)
434 % Kernel console support
435 ! CONFIG_KCONSOLE (y/n)
437 % Kernel symbol information
438 ! CONFIG_SYMTAB (y/n)
440 % Detailed kernel logging
441 ! CONFIG_LOG (n/y)
443 % Kernel function tracing
444 ! CONFIG_TRACE (n/y)
446 % Compile kernel tests
447 ! CONFIG_TEST (y/n)
449 % Use link-time optimization
450 ! [COMPILER=gcc_cross] CONFIG_LTO (n/y)
452 % Compress init data
453 ! CONFIG_COMPRESSED_INIT (y/n)
455 ## User space features options
457 ## Hardware support
459 % Input device class
460 @ "generic" Keyboard or serial line
461 ! [(PLATFORM=arm32&MACHINE=integratorcp)|PLATFORM=arm64] CONFIG_HID_IN (choice)
463 % Input device class
464 @ "generic" Keyboard or serial line
465 @ "none" No input device
466 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_HID_IN (choice)
468 % Input device class
469 @ "generic" Keyboard or serial line
470 @ "keyboard" Keyboard
471 @ "serial" Serial line
472 @ "none" No input device
473 ! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
475 % Output device class
476 @ "generic" Monitor or serial line
477 ! [(PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi))|PLATFORM=arm64] CONFIG_HID_OUT (choice)
479 % Output device class
480 @ "generic" Monitor or serial line
481 @ "none" No output device
482 ! [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)
484 % PC keyboard support
485 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
487 % PC keyboard support
488 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
490 % PC keyboard support
491 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_AT_KBD (y/n)
493 % Support for msim keyboard
494 ! [CONFIG_HID_IN=generic&MACHINE=msim] CONFIG_MSIM_KBD (y/n)
496 % Support for msim printer
497 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&MACHINE=msim] CONFIG_MSIM_PRN (y/n)
499 % Support for VIA CUDA controller
500 ! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
502 % Support for NS16550 controller
503 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
505 % Support for NS16550 controller
506 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
508 % Support for NS16550 controller
509 ! [CONFIG_HID_IN=generic&PLATFORM=mips32&(MACHINE=lmalta|MACHINE=bmalta)] CONFIG_NS16550 (y)
511 % Support for PL011 UART
512 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi))] CONFIG_PL011_UART (y/n)
514 % Support for PL011 UART
515 ! [CONFIG_HID_OUT=generic|(PLATFORM=arm64&(MACHINE=virt|MACHINE=hikey960))] CONFIG_PL011_UART (y)
517 % Support for NS16550 controller (kernel console)
518 ! [(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)
520 % Use NS16550 controller as serial input (kernel console)
521 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550 (y)
523 % Use NS16550 controller as dummy serial output (kernel console)
524 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550_OUT (y)
526 % Use NS16550 controller as dummy serial output (kernel console)
527 ! [CONFIG_HID_OUT=generic&PLATFORM=mips32&(MACHINE=lmalta|MACHINE=bmalta)] CONFIG_NS16550_OUT (y)
529 % Support for Samsung S3C24XX on-chip UART
530 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_UART (y/n)
532 % Support for Samsung S3C24XX on-chip interrupt controller
533 ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y)
535 % Support for TI AM335x timers support
536 ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y)
538 % Support for OMAP on-chip UART
539 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n)
541 % Support for BCM2835 mailbox
542 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n)
544 % Support for ARM GICv2
545 ! [PLATFORM=arm64&(MACHINE=virt|MACHINE=hikey960)] CONFIG_GICV2 (y)
547 % Support for i8042 controller
548 ! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
550 % Support for pl050 controller
551 ! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y)
553 % Sun keyboard support
554 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_KBD (y)
556 % Sun serial console support
557 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_TTY (y)
559 % Macintosh ADB keyboard support
560 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y)
562 % Dummy serial line input
563 ! [CONFIG_MSIM_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
565 % Dummy serial line output
566 ! [CONFIG_MSIM_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
568 % Serial line input module
569 ! [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)
571 % L4Re uvmm print hypercall support
572 ! [PLATFORM=amd64] CONFIG_L4RE_UVMM_EARLY_PRINT (n/y)
574 % EGA support
575 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
577 % EGA support
578 ! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
580 % Framebuffer support
581 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
583 % Framebuffer support
584 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
586 % Framebuffer support
587 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
589 % Default framebuffer mode
590 @ "640x480"
591 @ "800x600"
592 @ "1024x768"
593 @ "1152x720"
594 @ "1152x864"
595 @ "1280x720"
596 @ "1280x800"
597 @ "1280x960"
598 @ "1280x1024"
599 @ "1400x1050"
600 @ "1440x900"
601 @ "1440x1050"
602 @ "1600x1200"
603 @ "1920x1080"
604 @ "1920x1200"
605 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_MODE (choice)
607 % Default framebuffer depth
608 @ "8"
609 @ "16"
610 @ "24"
611 @ "32"
612 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_BPP (choice)
614 % Window system
615 ! [CONFIG_FB=y] CONFIG_WINSYS (y/n)
617 % Display double buffering
618 ! [CONFIG_WINSYS=y] CONFIG_DISP_DOUBLE_BUF (y/n)
620 % Client-side UI rendering
621 ! CONFIG_UI_CS_RENDER (y/n)
623 % Window double buffering
624 ! [CONFIG_UI_CS_RENDER=y] CONFIG_WIN_DOUBLE_BUF (n/y)
626 % Start AP processors by the loader
627 ! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
629 % Dynamic linking support
630 ! [PLATFORM=amd64|PLATFORM=arm32|PLATFORM=ia32|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_RTLD (y/n)
631 ! [PLATFORM=abs32le|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=riscv64] CONFIG_RTLD (n)
633 % Build shared libraries
634 ! [CONFIG_RTLD=y] CONFIG_BUILD_SHARED_LIBS (n/y)
635 ! [CONFIG_RTLD=n] CONFIG_BUILD_SHARED_LIBS (n)
637 % Link against shared libraries
638 ! [CONFIG_BUILD_SHARED_LIBS=y] CONFIG_USE_SHARED_LIBS (n/y)
639 ! [CONFIG_BUILD_SHARED_LIBS=n] CONFIG_USE_SHARED_LIBS (n)
641 % Launch (devman) test drivers
642 ! [CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (n/y)
644 % Write core files
645 ! CONFIG_WRITE_CORE_FILES (n/y)
647 % Include userspace unit tests (PCUT)
648 ! CONFIG_PCUT_TESTS (n/y)
650 % Include PCUT self-tests
651 ! CONFIG_PCUT_SELF_TESTS (n/y)
653 % Include development files (headers, libraries)
654 ! CONFIG_DEVEL_FILES (n/y)
656 % Strip binaries
657 ! CONFIG_STRIP_BINARIES (n/y)
659 % Strip revision information (helpful when comparing outputs)
660 ! CONFIG_STRIP_REVISION_INFO (n/y)
662 % Optimization level
663 @ "3" Level 3 (recommended).
664 @ "2" Level 2.
665 @ "1" Level 1.
666 @ "0" Disable optimizations.
667 @ "s" Optimize for size.
668 @ "g" Enable only optimizations that don't harm debugging.
669 @ "fast" Level 3 + aggressive optimizations that can affect adherence to standards.
670 ! OPTIMIZATION (choice)
672 % Barebone build with essential binaries only
673 ! CONFIG_BAREBONE (n/y)
675 % Line debugging information
676 ! [CONFIG_STRIP_BINARIES!=y] CONFIG_LINE_DEBUG (n/y)
678 # USB settings
680 % Start virtual USB host controller
681 ! CONFIG_RUN_VIRTUAL_USB_HC (n/y)
683 % OHCI root hub port power switching
684 @ "no" All root hub ports are always powered.
685 @ "ganged" Root hub ports are all powered or all off.
686 @ "per_port" Powered status of every root hub port is independent.
687 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32] OHCI_POWER_SWITCH (choice)
689 % GRUB boot loader architecture
690 @ "pc" GRUB for PC
691 @ "efi" GRUB for UEFI
692 ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice)
694 % GRUB boot loader architecture
695 @ "efi" GRUB for UEFI
696 ! [PLATFORM=arm64&MACHINE=virt] GRUB_ARCH (choice)
698 % uImage OS type
699 @ "2" NetBSD stage 2 boot loader
700 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice)
702 % uImage OS type
703 @ "5" Linux kernel
704 ! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)