Fix function reference counting
[helenos.git] / HelenOS.config
blob7f202ce2d6c5153b848b2fe87479115966600c6e
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 % Quad float type
87 @ "hard" Hardware
88 @ "soft" Software
89 ! [PLATFORM=sparc64] QUADFLOAT (choice)
91 % CPU type
92 @ "cortex_a8" ARM Cortex A-8
93 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice)
95 % CPU type
96 @ "arm920t" ARM920T
97 ! [PLATFORM=arm32&MACHINE=gta02] PROCESSOR (choice)
99 % CPU type
100 @ "arm926ej_s" ARM926EJ-S
101 ! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice)
103 % CPU type
104 @ "arm1176jzf_s" ARM1176JZF-S
105 ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice)
107 # Add more ARMv4 CPUs
108 % CPU arch
109 @ "armv4" ARMv4
110 ! [PLATFORM=arm32&(PROCESSOR=arm920t)] PROCESSOR_ARCH (choice)
112 # Add more ARMv5 CPUs
113 % CPU arch
114 @ "armv5" ARMv5
115 ! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice)
117 # Add more ARMv6 CPUs
118 % CPU arch
119 @ "armv6" ARMv6
120 ! [PLATFORM=arm32&(PROCESSOR=arm1176jzf_s)] PROCESSOR_ARCH (choice)
122 # Add more ARMv7-A CPUs
123 % CPU arch
124 @ "armv7_a" ARMv7-A
125 ! [PLATFORM=arm32&(PROCESSOR=cortex_a8)] PROCESSOR_ARCH (choice)
127 % CPU type
128 @ "R4000" MIPS R4000
129 ! [PLATFORM=mips32&MACHINE=msim] PROCESSOR (choice)
131 % CPU type
132 @ "4Kc" MIPS 4Kc
133 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] PROCESSOR (choice)
135 % Kernel memory model
136 @ "kernel" Kernel
137 @ "large" Large
138 ! [PLATFORM=amd64] MEMORY_MODEL (choice)
140 % RAM disk format
141 @ "tmpfs" TMPFS image
142 @ "fat" FAT16 image
143 @ "ext4fs" ext4 image
144 ! RDFMT (choice)
147 ## Mapping between platform and kernel architecture
149 % Kernel architecture
150 @ "abs32le"
151 ! [PLATFORM=abs32le] KARCH (choice)
153 % Kernel architecture
154 @ "amd64"
155 ! [PLATFORM=amd64] KARCH (choice)
157 % Kernel architecture
158 @ "arm32"
159 ! [PLATFORM=arm32] KARCH (choice)
161 % Kernel architecture
162 @ "ia32"
163 ! [PLATFORM=ia32] KARCH (choice)
165 % Kernel architecture
166 @ "ia32xen"
167 ! [PLATFORM=ia32xen] KARCH (choice)
169 % Kernel architecture
170 @ "ia64"
171 ! [PLATFORM=ia64] KARCH (choice)
173 % Kernel architecture
174 @ "mips32"
175 ! [PLATFORM=mips32] KARCH (choice)
177 % Kernel architecture
178 @ "ppc32"
179 ! [PLATFORM=ppc32] KARCH (choice)
181 % Kernel architecture
182 @ "ppc64"
183 ! [PLATFORM=ppc64] KARCH (choice)
185 % Kernel architecture
186 @ "riscv64"
187 ! [PLATFORM=riscv64] KARCH (choice)
189 % Kernel architecture
190 @ "sparc64"
191 ! [PLATFORM=sparc64] KARCH (choice)
194 ## Mapping between platform and user space architecture
196 % User space architecture
197 @ "abs32le"
198 ! [PLATFORM=abs32le] UARCH (choice)
200 % User space architecture
201 @ "amd64"
202 ! [PLATFORM=amd64] UARCH (choice)
204 % User space architecture
205 @ "arm32"
206 ! [PLATFORM=arm32] UARCH (choice)
208 % User space architecture
209 @ "ia32"
210 ! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
212 % User space architecture
213 @ "ia64"
214 ! [PLATFORM=ia64] UARCH (choice)
216 % User space architecture
217 @ "mips32"
218 ! [PLATFORM=mips32&(MACHINE=msim|MACHINE=lmalta)] UARCH (choice)
220 % User space architecture
221 @ "mips32eb"
222 ! [PLATFORM=mips32&MACHINE=bmalta] UARCH (choice)
224 % User space architecture
225 @ "ppc32"
226 ! [PLATFORM=ppc32] UARCH (choice)
228 % User space architecture
229 @ "ppc64"
230 ! [PLATFORM=ppc64] UARCH (choice)
232 % User space architecture
233 @ "riscv64"
234 ! [PLATFORM=riscv64] UARCH (choice)
236 % User space architecture
237 @ "sparc64"
238 ! [PLATFORM=sparc64] UARCH (choice)
241 ## Mapping between platform and boot architecture
243 % Boot architecture
244 @ "abs32le"
245 ! [PLATFORM=abs32le] BARCH (choice)
247 % Boot architecture
248 @ "amd64"
249 ! [PLATFORM=amd64] BARCH (choice)
251 % Boot architecture
252 @ "arm32"
253 ! [PLATFORM=arm32] BARCH (choice)
255 % Boot architecture
256 @ "ia32"
257 ! [PLATFORM=ia32] BARCH (choice)
259 % Boot architecture
260 @ "ia32xen"
261 ! [PLATFORM=ia32xen] BARCH (choice)
263 % Boot architecture
264 @ "ia64"
265 ! [PLATFORM=ia64] BARCH (choice)
267 % Boot architecture
268 @ "mips32"
269 ! [PLATFORM=mips32] BARCH (choice)
271 % Boot architecture
272 @ "ppc32"
273 ! [PLATFORM=ppc32] BARCH (choice)
275 % Boot architecture
276 @ "ppc64"
277 ! [PLATFORM=ppc64] BARCH (choice)
279 % Boot architecture
280 @ "riscv64"
281 ! [PLATFORM=riscv64] BARCH (choice)
283 % Boot architecture
284 @ "sparc64"
285 ! [PLATFORM=sparc64] BARCH (choice)
288 ## Mapping between platform and image format
290 % Image format
291 @ "binary"
292 ! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
294 % Image format
295 @ "elf"
296 ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] IMAGE (choice)
299 ## Compiler options
301 % Compiler
302 @ "gcc_cross" GNU C Compiler (HelenOS-specific cross-compiler)
303 @ "clang" Clang
304 ! COMPILER (choice)
306 % Clang Integrated Assembler
307 @ "default" Use architecture default.
308 @ "yes" Use integrated assembler.
309 @ "no" Use GNU Assembler.
310 ! [COMPILER=clang] INTEGRATED_AS (choice)
312 ## Cross-compiler target for abstract architecture
314 % Cross-compiler target
315 @ "arm32" ARM 32-bit
316 @ "ia32" Intel IA-32
317 @ "mips32" MIPS 32-bit
318 ! [PLATFORM=abs32le&COMPILER=gcc_cross] CROSS_TARGET (choice)
321 ## Kernel configuration
323 % Fences
324 ! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
326 % Fences
327 ! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
329 % Fences
330 ! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
332 % IOMAP bitmap support
333 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_IOMAP_BITMAP (y)
335 % IOMAP dummy support
336 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_IOMAP_DUMMY (y)
338 % ACPI support
339 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
341 % Hierarchical page tables support
342 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64] CONFIG_PAGE_PT (y)
344 % Page hash table support
345 ! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
347 % Software integer division support
348 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
350 % ASID support
351 ! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
353 % ASID FIFO support
354 ! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
356 % OpenFirmware tree support
357 ! [PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_OFW_TREE (y)
359 % OpenFirmware PCI bus support
360 ! [PLATFORM=sparc64] CONFIG_OFW_PCI (y)
362 % Multiboot standard support
363 ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
365 % FPU support
366 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_FPU (y)
368 ## ARMv7 made FPU hardware compulsory
369 % FPU support
370 ! [PLATFORM=arm32&PROCESSOR_ARCH=armv7_a] CONFIG_FPU (y)
372 % FPU support
373 ! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_FPU (y)
376 ## Kernel features options
378 % Support for SMP
379 ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
381 % Debug build
382 ! CONFIG_DEBUG (y/n)
384 % Sanitize undefined behavior (userspace)
385 ! CONFIG_UBSAN (n/y)
387 % Sanitize undefined behavior (kernel)
388 ! CONFIG_UBSAN_KERNEL (n/y)
390 % Track owner for futexes in userspace.
391 ! CONFIG_DEBUG_FUTEX (y/n)
393 % Deadlock detection support for spinlocks
394 ! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
396 % Lazy FPU context switching
397 ! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
399 % Use VHPT
400 ! [PLATFORM=ia64] CONFIG_VHPT (n/y)
402 % Use TSB
403 ! [PLATFORM=sparc64] CONFIG_TSB (y/n)
405 % IO SAPIC on default address support
406 ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
408 % Virtually indexed D-cache support
409 ! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
411 % Support for userspace debuggers
412 ! CONFIG_UDEBUG (y/n)
414 % Kernel console support
415 ! CONFIG_KCONSOLE (y/n)
417 % Kernel symbol information
418 ! CONFIG_SYMTAB (y/n)
420 % Detailed kernel logging
421 ! CONFIG_LOG (n/y)
423 % Kernel function tracing
424 ! CONFIG_TRACE (n/y)
426 % Compile kernel tests
427 ! CONFIG_TEST (y/n)
429 % Use link-time optimization
430 ! [COMPILER=gcc_cross] CONFIG_LTO (n/y)
432 % Compress init data
433 ! CONFIG_COMPRESSED_INIT (y/n)
435 ## User space features options
437 ## Hardware support
439 % Input device class
440 @ "generic" Keyboard or serial line
441 ! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_IN (choice)
443 % Input device class
444 @ "generic" Keyboard or serial line
445 @ "none" No input device
446 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_HID_IN (choice)
448 % Input device class
449 @ "generic" Keyboard or serial line
450 @ "keyboard" Keyboard
451 @ "serial" Serial line
452 @ "none" No input device
453 ! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
455 % Output device class
456 @ "generic" Monitor or serial line
457 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi)] CONFIG_HID_OUT (choice)
459 % Output device class
460 @ "generic" Monitor or serial line
461 @ "none" No output device
462 ! [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)
464 % PC keyboard support
465 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
467 % PC keyboard support
468 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
470 % PC keyboard support
471 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_AT_KBD (y/n)
473 % Support for msim keyboard
474 ! [CONFIG_HID_IN=generic&MACHINE=msim] CONFIG_MSIM_KBD (y/n)
476 % Support for msim printer
477 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&MACHINE=msim] CONFIG_MSIM_PRN (y/n)
479 % Support for VIA CUDA controller
480 ! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
482 % Support for NS16550 controller
483 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
485 % Support for NS16550 controller
486 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
488 % Support for PL011 UART
489 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi)] CONFIG_PL011_UART (y/n)
491 % Support for NS16550 controller (kernel console)
492 ! [(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)
494 % Use NS16550 controller as serial input (kernel console)
495 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550 (y)
497 % Use NS16550 controller as dummy serial output (kernel console)
498 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550_OUT (y)
500 % Support for Samsung S3C24XX on-chip UART
501 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_UART (y/n)
503 % Support for Samsung S3C24XX on-chip interrupt controller
504 ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y)
506 % Support for TI AM335x timers support
507 ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y)
509 % Support for OMAP on-chip UART
510 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n)
512 % Support for BCM2835 mailbox
513 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n)
515 % Support for i8042 controller
516 ! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
518 % Support for pl050 controller
519 ! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y)
521 % Sun keyboard support
522 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_KBD (y)
524 % Macintosh ADB keyboard support
525 ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y)
527 % Dummy serial line input
528 ! [CONFIG_MSIM_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
530 % Dummy serial line output
531 ! [CONFIG_MSIM_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
533 % Serial line input module
534 ! [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)
536 % EGA support
537 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
539 % EGA support
540 ! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
542 % Framebuffer support
543 ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
545 % Framebuffer support
546 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
548 % Framebuffer support
549 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
551 % Default framebuffer mode
552 @ "640x480"
553 @ "800x600"
554 @ "1024x768"
555 @ "1152x720"
556 @ "1152x864"
557 @ "1280x720"
558 @ "1280x800"
559 @ "1280x960"
560 @ "1280x1024"
561 @ "1400x1050"
562 @ "1440x900"
563 @ "1440x1050"
564 @ "1600x1200"
565 @ "1920x1080"
566 @ "1920x1200"
567 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_MODE (choice)
569 % Default framebuffer depth
570 @ "8"
571 @ "16"
572 @ "24"
573 @ "32"
574 ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_BPP (choice)
576 % Start AP processors by the loader
577 ! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
579 % Dynamic linking support
580 ! [PLATFORM=ia32] CONFIG_RTLD (n/y)
581 ! [PLATFORM=abs32le|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_RTLD (n)
583 % Build shared libraries
584 ! [CONFIG_RTLD=y] CONFIG_BUILD_SHARED_LIBS (n/y)
585 ! [CONFIG_RTLD=n] CONFIG_BUILD_SHARED_LIBS (n)
587 % Link against shared libraries
588 ! [CONFIG_BUILD_SHARED_LIBS=y] CONFIG_USE_SHARED_LIBS (n/y)
589 ! [CONFIG_BUILD_SHARED_LIBS=n] CONFIG_USE_SHARED_LIBS (n)
591 % Launch (devman) test drivers
592 ! [CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (n/y)
594 % Write core files
595 ! CONFIG_WRITE_CORE_FILES (n/y)
597 % Include userspace unit tests (PCUT)
598 ! CONFIG_PCUT_TESTS (n/y)
600 % Include PCUT self-tests
601 ! CONFIG_PCUT_SELF_TESTS (n/y)
603 % Include development files (headers, libraries)
604 ! CONFIG_DEVEL_FILES (n/y)
606 % Strip binaries
607 ! CONFIG_STRIP_BINARIES (n/y)
609 % Strip revision information (helpful when comparing outputs)
610 ! CONFIG_STRIP_REVISION_INFO (n/y)
612 % Optimization level
613 @ "3" Level 3 (recommended).
614 @ "2" Level 2.
615 @ "1" Level 1.
616 @ "0" Disable optimizations.
617 @ "s" Optimize for size.
618 @ "g" Enable only optimizations that don't harm debugging.
619 @ "fast" Level 3 + aggressive optimizations that can affect adherence to standards.
620 ! OPTIMIZATION (choice)
622 % Barebone build with essential binaries only
623 ! CONFIG_BAREBONE (n/y)
625 % Line debugging information
626 ! [CONFIG_STRIP_BINARIES!=y] CONFIG_LINE_DEBUG (n/y)
628 # USB settings
630 % Start virtual USB host controller
631 ! CONFIG_RUN_VIRTUAL_USB_HC (n/y)
633 % OHCI root hub port power switching
634 @ "no" All root hub ports are always powered.
635 @ "ganged" Root hub ports are all powered or all off.
636 @ "per_port" Powered status of every root hub port is independent.
637 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32] OHCI_POWER_SWITCH (choice)
639 % GRUB boot loader architecture
640 @ "pc" GRUB for PC
641 @ "efi" GRUB for UEFI
642 ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice)
644 % uImage OS type
645 @ "2" NetBSD stage 2 boot loader
646 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice)
648 % uImage OS type
649 @ "5" Linux kernel
650 ! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)