Deduplicate multiboot cmdline parsing code
[helenos.git] / HelenOS.config
blob567f4529c4203fecd6335aeef65ca03ed1c74a9f
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 @ "ia32" IA-32 32-bit (PC)
37 @ "ia64" IA-64 64-bit
38 @ "mips32" MIPS 32-bit
39 @ "ppc32" PowerPC 32-bit
40 @ "riscv64" RISC-V 64-bit
41 @ "sparc64" SPARCv9 64-bit
42 ! PLATFORM (choice)
44 % Machine type
45 @ "msim" MSIM
46 @ "bmalta" MIPS Malta Development Board big endian
47 @ "lmalta" MIPS Malta Development Board little endian
48 ! [PLATFORM=mips32] MACHINE (choice)
50 % Machine type
51 @ "i460GX" i460GX chipset machine
52 @ "ski" Ski ia64 simulator
53 ! [PLATFORM=ia64] MACHINE (choice)
55 % Machine type
56 @ "generic" Generic Sun workstation or server
57 ! [PLATFORM=sparc64] MACHINE (choice)
59 % Machine type
60 @ "gta02" GTA02 / Neo FreeRunner
61 @ "integratorcp" Integratorcp
62 @ "beagleboardxm" BeagleBoard-xM
63 @ "beaglebone" BeagleBone
64 @ "raspberrypi" Raspberry Pi
65 ! [PLATFORM=arm32] MACHINE (choice)
67 % CPU type
68 @ "pentium4" Pentium 4
69 @ "pentium3" Pentium 3
70 @ "core" Core Solo/Duo
71 @ "athlon_xp" Athlon XP
72 @ "athlon_mp" Athlon MP
73 @ "i486" i486
74 ! [PLATFORM=ia32] PROCESSOR (choice)
76 % CPU type
77 @ "opteron" Opteron
78 ! [PLATFORM=amd64] PROCESSOR (choice)
80 % CPU type
81 @ "us" UltraSPARC I-II subarchitecture
82 @ "us3" UltraSPARC III-IV subarchitecture
83 @ "sun4v" Niagara (sun4v)
84 ! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
86 % CPU type
87 @ "cortex_a8" ARM Cortex A-8
88 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice)
90 % CPU type
91 @ "arm920t" ARM920T
92 ! [PLATFORM=arm32&MACHINE=gta02] PROCESSOR (choice)
94 % CPU type
95 @ "arm926ej_s" ARM926EJ-S
96 ! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice)
98 % CPU type
99 @ "arm1176" ARM1176
100 ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice)
102 # Add more ARMv4 CPUs
103 % CPU arch
104 @ "armv4" ARMv4
105 ! [PLATFORM=arm32&(PROCESSOR=arm920t)] PROCESSOR_ARCH (choice)
107 # Add more ARMv5 CPUs
108 % CPU arch
109 @ "armv5" ARMv5
110 ! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice)
112 # Add more ARMv6 CPUs
113 % CPU arch
114 @ "armv6" ARMv6
115 ! [PLATFORM=arm32&(PROCESSOR=arm1176)] PROCESSOR_ARCH (choice)
117 # Add more ARMv7-A CPUs
118 % CPU arch
119 @ "armv7_a" ARMv7-A
120 ! [PLATFORM=arm32&(PROCESSOR=cortex_a8)] PROCESSOR_ARCH (choice)
122 % CPU type
123 @ "R4000" MIPS R4000
124 ! [PLATFORM=mips32&MACHINE=msim] PROCESSOR (choice)
126 % CPU type
127 @ "4Kc" MIPS 4Kc
128 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] PROCESSOR (choice)
130 % Kernel memory model
131 @ "kernel" Kernel
132 @ "large" Large
133 ! [PLATFORM=amd64] MEMORY_MODEL (choice)
135 % RAM disk format
136 @ "tmpfs" TMPFS image
137 @ "fat" FAT16 image
138 @ "ext4fs" ext4 image
139 ! RDFMT (choice)
142 ## Mapping between platform and kernel architecture
144 % Kernel architecture
145 @ "abs32le"
146 ! [PLATFORM=abs32le] KARCH (choice)
148 % Kernel architecture
149 @ "amd64"
150 ! [PLATFORM=amd64] KARCH (choice)
152 % Kernel architecture
153 @ "arm32"
154 ! [PLATFORM=arm32] KARCH (choice)
156 % Kernel architecture
157 @ "ia32"
158 ! [PLATFORM=ia32] KARCH (choice)
160 % Kernel architecture
161 @ "ia32xen"
162 ! [PLATFORM=ia32xen] KARCH (choice)
164 % Kernel architecture
165 @ "ia64"
166 ! [PLATFORM=ia64] KARCH (choice)
168 % Kernel architecture
169 @ "mips32"
170 ! [PLATFORM=mips32] KARCH (choice)
172 % Kernel architecture
173 @ "ppc32"
174 ! [PLATFORM=ppc32] KARCH (choice)
176 % Kernel architecture
177 @ "ppc64"
178 ! [PLATFORM=ppc64] KARCH (choice)
180 % Kernel architecture
181 @ "riscv64"
182 ! [PLATFORM=riscv64] KARCH (choice)
184 % Kernel architecture
185 @ "sparc64"
186 ! [PLATFORM=sparc64] KARCH (choice)
189 ## Mapping between platform and user space architecture
191 % User space architecture
192 @ "abs32le"
193 ! [PLATFORM=abs32le] UARCH (choice)
195 % User space architecture
196 @ "amd64"
197 ! [PLATFORM=amd64] UARCH (choice)
199 % User space architecture
200 @ "arm32"
201 ! [PLATFORM=arm32] UARCH (choice)
203 % User space architecture
204 @ "ia32"
205 ! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
207 % User space architecture
208 @ "ia64"
209 ! [PLATFORM=ia64] UARCH (choice)
211 % User space architecture
212 @ "mips32"
213 ! [PLATFORM=mips32&(MACHINE=msim|MACHINE=lmalta)] UARCH (choice)
215 % User space architecture
216 @ "mips32eb"
217 ! [PLATFORM=mips32&MACHINE=bmalta] UARCH (choice)
219 % User space architecture
220 @ "ppc32"
221 ! [PLATFORM=ppc32] UARCH (choice)
223 % User space architecture
224 @ "ppc64"
225 ! [PLATFORM=ppc64] UARCH (choice)
227 % User space architecture
228 @ "riscv64"
229 ! [PLATFORM=riscv64] UARCH (choice)
231 % User space architecture
232 @ "sparc64"
233 ! [PLATFORM=sparc64] UARCH (choice)
236 ## Mapping between platform and boot architecture
238 % Boot architecture
239 @ "abs32le"
240 ! [PLATFORM=abs32le] BARCH (choice)
242 % Boot architecture
243 @ "amd64"
244 ! [PLATFORM=amd64] BARCH (choice)
246 % Boot architecture
247 @ "arm32"
248 ! [PLATFORM=arm32] BARCH (choice)
250 % Boot architecture
251 @ "ia32"
252 ! [PLATFORM=ia32] BARCH (choice)
254 % Boot architecture
255 @ "ia32xen"
256 ! [PLATFORM=ia32xen] BARCH (choice)
258 % Boot architecture
259 @ "ia64"
260 ! [PLATFORM=ia64] BARCH (choice)
262 % Boot architecture
263 @ "mips32"
264 ! [PLATFORM=mips32] BARCH (choice)
266 % Boot architecture
267 @ "ppc32"
268 ! [PLATFORM=ppc32] BARCH (choice)
270 % Boot architecture
271 @ "ppc64"
272 ! [PLATFORM=ppc64] BARCH (choice)
274 % Boot architecture
275 @ "riscv64"
276 ! [PLATFORM=riscv64] BARCH (choice)
278 % Boot architecture
279 @ "sparc64"
280 ! [PLATFORM=sparc64] BARCH (choice)
283 ## Mapping between platform and image format
285 % Image format
286 @ "binary"
287 ! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
289 % Image format
290 @ "elf"
291 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] IMAGE (choice)
294 ## Compiler options
296 % Compiler
297 @ "gcc_cross" GNU C Compiler (cross-compiler)
298 @ "clang" Clang
299 @ "gcc_helenos" GNU C Compiler (experimental HelenOS-specific cross-compiler)
300 @ "icc" Intel C Compiler
301 @ "gcc_native" GNU C Compiler (native)
302 ! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
304 % Compiler
305 @ "gcc_cross" GNU C Compiler (cross-compiler)
306 @ "gcc_helenos" GNU C Compiler (experimental HelenOS-specific cross-compiler)
307 @ "icc" Intel C Compiler
308 @ "gcc_native" GNU C Compiler (native)
309 ! [PLATFORM=ia64] COMPILER (choice)
311 % Compiler
312 @ "gcc_cross" GNU C Compiler (cross-compiler)
313 @ "gcc_helenos" GNU C Compiler (experimental HelenOS-specific cross-compiler)
314 @ "gcc_native" GNU C Compiler (native)
315 ! [PLATFORM=riscv64] COMPILER (choice)
317 % Compiler
318 @ "gcc_cross" GNU C Compiler (cross-compiler)
319 @ "clang" Clang
320 @ "gcc_helenos" GNU C Compiler (experimental HelenOS-specific cross-compiler)
321 @ "gcc_native" GNU C Compiler (native)
322 ! [PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=sparc64] COMPILER (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|COMPILER=gcc_helenos)] 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=mips32|PLATFORM=ppc32|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=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=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
366 % ASID FIFO support
367 ! [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=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=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
394 % Debug build
395 ! CONFIG_DEBUG (y/n)
397 % Deadlock detection support for spinlocks
398 ! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
400 % Lazy FPU context switching
401 ! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
403 % Use VHPT
404 ! [PLATFORM=ia64] CONFIG_VHPT (n/y)
406 % Use TSB
407 ! [PLATFORM=sparc64] CONFIG_TSB (y/n)
409 % IO SAPIC on default address support
410 ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
412 % Virtually indexed D-cache support
413 ! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
415 % Simics SMP Hack
416 ! [PROCESSOR=sun4v&CONFIG_SMP=y] CONFIG_SIMICS_SMP_HACK (n/y)
418 % Support for userspace debuggers
419 ! CONFIG_UDEBUG (y/n)
421 % Kernel console support
422 ! CONFIG_KCONSOLE (y/n)
424 % Kernel symbol information
425 ! CONFIG_SYMTAB (y/n)
427 % Detailed kernel logging
428 ! CONFIG_LOG (n/y)
430 % Kernel function tracing
431 ! CONFIG_TRACE (n/y)
433 % Compile kernel tests
434 ! CONFIG_TEST (y/n)
436 % Use link-time optimization
437 ! [COMPILER=gcc_cross|COMPILER=gcc_native] CONFIG_LTO (n/y)
439 % Kernel RCU algorithm
440 @ "PREEMPT_PODZIMEK" Preemptible Podzimek-RCU
441 @ "PREEMPT_A" Preemptible A-RCU
442 ! RCU (choice)
445 ## User space features options
447 % Light weight futex locks
448 ! FUTEX_UPGRADABLE (n/y)
451 ## Hardware support
453 % Input device class
454 @ "generic" Keyboard or serial line
455 ! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_IN (choice)
457 % Input device class
458 @ "generic" Keyboard or serial line
459 @ "none" No input device
460 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_HID_IN (choice)
462 % Input device class
463 @ "generic" Keyboard or serial line
464 @ "keyboard" Keyboard
465 @ "serial" Serial line
466 @ "none" No input device
467 ! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
469 % Output device class
470 @ "generic" Monitor or serial line
471 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi)] CONFIG_HID_OUT (choice)
473 % Output device class
474 @ "generic" Monitor or serial line
475 @ "none" No output device
476 ! [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)
478 % PC keyboard support
479 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
481 % PC keyboard support
482 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
484 % PC keyboard support
485 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_AT_KBD (y/n)
487 % Support for msim keyboard
488 ! [CONFIG_HID_IN=generic&MACHINE=msim] CONFIG_MSIM_KBD (y/n)
490 % Support for msim printer
491 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&MACHINE=msim] CONFIG_MSIM_PRN (y/n)
493 % Support for VIA CUDA controller
494 ! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
496 % Support for NS16550 controller
497 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
499 % Support for NS16550 controller
500 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
502 % Support for PL011 UART
503 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi)] CONFIG_PL011_UART (y/n)
505 % Support for NS16550 controller (kernel console)
506 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial|CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_NS16550_KCON (n/y)
508 % Use NS16550 controller as serial input (kernel console)
509 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550 (y)
511 % Use NS16550 controller as dummy serial output (kernel console)
512 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550_OUT (y)
514 % Support for Samsung S3C24XX on-chip UART
515 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_UART (y/n)
517 % Support for Samsung S3C24XX on-chip interrupt controller
518 ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y)
520 % Support for TI AM335x timers support
521 ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y)
523 % Support for OMAP on-chip UART
524 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n)
526 % Support for BCM2835 mailbox
527 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n)
529 % Support for i8042 controller
530 ! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
532 % Support for pl050 controller
533 ! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y)
535 % Sun keyboard support
536 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_KBD (y)
538 % Macintosh ADB keyboard support
539 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y)
541 % Dummy serial line input
542 ! [CONFIG_MSIM_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
544 % Dummy serial line output
545 ! [CONFIG_MSIM_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
547 % Serial line input module
548 ! [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=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)] CONFIG_SRLN (y)
550 % EGA support
551 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
553 % EGA support
554 ! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
556 % Framebuffer support
557 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
559 % Framebuffer support
560 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
562 % Framebuffer support
563 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
565 % Default framebuffer mode
566 @ "640x480"
567 @ "800x600"
568 @ "1024x768"
569 @ "1152x720"
570 @ "1152x864"
571 @ "1280x720"
572 @ "1280x800"
573 @ "1280x960"
574 @ "1280x1024"
575 @ "1400x1050"
576 @ "1440x900"
577 @ "1440x1050"
578 @ "1600x1200"
579 @ "1920x1080"
580 @ "1920x1200"
581 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_MODE (choice)
583 % Default framebuffer depth
584 @ "8"
585 @ "16"
586 @ "24"
587 @ "32"
588 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_BPP (choice)
590 % Start AP processors by the loader
591 ! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
593 % Dynamic linking support
594 ! [PLATFORM=ia32] CONFIG_RTLD (n/y)
595 ! [PLATFORM=abs32le|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_RTLD (n)
597 % Build shared libraries
598 ! [CONFIG_RTLD=y] CONFIG_BUILD_SHARED_LIBS (n/y)
599 ! [CONFIG_RTLD=n] CONFIG_BUILD_SHARED_LIBS (n)
601 % Link against shared libraries
602 ! [CONFIG_BUILD_SHARED_LIBS=y] CONFIG_USE_SHARED_LIBS (n/y)
603 ! [CONFIG_BUILD_SHARED_LIBS=n] CONFIG_USE_SHARED_LIBS (n)
605 % Launch (devman) test drivers
606 ! [CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (n/y)
608 % Write core files
609 ! CONFIG_WRITE_CORE_FILES (n/y)
611 % Include userspace unit tests (PCUT)
612 ! CONFIG_PCUT_TESTS (n/y)
614 % Include PCUT self-tests
615 ! CONFIG_PCUT_SELF_TESTS (n/y)
617 % Include development files (headers, libraries)
618 ! CONFIG_DEVEL_FILES (n/y)
620 % Strip binaries
621 ! CONFIG_STRIP_BINARIES (n/y)
623 % Optimize for size
624 ! CONFIG_OPTIMIZE_FOR_SIZE (n/y)
626 % Barebone build with essential binaries only 
627 ! CONFIG_BAREBONE (n/y)
629 % Line debugging information
630 ! [CONFIG_STRIP_BINARIES!=y] CONFIG_LINE_DEBUG (n/y)
632 # USB settings
634 % Start virtual USB host controller
635 ! CONFIG_RUN_VIRTUAL_USB_HC (n/y)
637 % OHCI root hub port power switching
638 @ "no" All root hub ports are always powered.
639 @ "ganged" Root hub ports are all powered or all off.
640 @ "per_port" Powered status of every root hub port is independent.
641 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32] OHCI_POWER_SWITCH (choice)
643 % GRUB boot loader architecture
644 @ "pc" GRUB for PC
645 @ "efi" GRUB for UEFI
646 ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice)
648 % uImage OS type
649 @ "2" NetBSD stage 2 boot loader
650 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice)
652 % uImage OS type
653 @ "5" Linux kernel
654 ! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)