# # Copyright (c) 2006 Ondrej Palkovsky # Copyright (c) 2009 Martin Decky # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # - Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # - Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # - The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ## General platform options % Platform @ "abs32le" abstract 32-bit little endian @ "amd64" AMD64/EM64T 64-bit (PC) @ "arm32" ARM 32-bit @ "arm64" ARM 64-bit (AArch64) @ "ia32" IA-32 32-bit (PC) @ "ia64" IA-64 64-bit @ "mips32" MIPS 32-bit @ "ppc32" PowerPC 32-bit @ "riscv64" RISC-V 64-bit @ "sparc64" SPARCv9 64-bit ! PLATFORM (choice) % Machine type @ "msim" MSIM @ "bmalta" MIPS Malta Development Board big endian @ "lmalta" MIPS Malta Development Board little endian ! [PLATFORM=mips32] MACHINE (choice) % Machine type @ "i460GX" i460GX chipset machine @ "ski" Ski ia64 simulator ! [PLATFORM=ia64] MACHINE (choice) % Machine type @ "generic" Generic Sun workstation or server ! [PLATFORM=sparc64] MACHINE (choice) % Machine type @ "gta02" GTA02 / Neo FreeRunner @ "integratorcp" Integratorcp @ "beagleboardxm" BeagleBoard-xM @ "beaglebone" BeagleBone @ "raspberrypi" Raspberry Pi ! [PLATFORM=arm32] MACHINE (choice) % Machine type @ "virt" QEMU virt @ "hikey960" HiKey 960 ! [PLATFORM=arm64] MACHINE (choice) % CPU type @ "pentium4" Pentium 4 @ "pentium3" Pentium 3 @ "core" Core Solo/Duo @ "athlon_xp" Athlon XP @ "athlon_mp" Athlon MP @ "i486" i486 ! [PLATFORM=ia32] PROCESSOR (choice) % CPU type @ "opteron" Opteron ! [PLATFORM=amd64] PROCESSOR (choice) % CPU type @ "us" UltraSPARC I-II subarchitecture @ "us3" UltraSPARC III-IV subarchitecture @ "sun4v" Niagara (sun4v) ! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice) % Quad float type @ "hard" Hardware @ "soft" Software ! [PLATFORM=sparc64] QUADFLOAT (choice) % CPU type @ "cortex_a8" ARM Cortex A-8 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice) % CPU type @ "arm920t" ARM920T ! [PLATFORM=arm32&MACHINE=gta02] PROCESSOR (choice) % CPU type @ "arm926ej_s" ARM926EJ-S ! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice) % CPU type @ "arm1176jzf_s" ARM1176JZF-S ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice) # Add more ARMv4 CPUs % CPU arch @ "armv4" ARMv4 ! [PLATFORM=arm32&(PROCESSOR=arm920t)] PROCESSOR_ARCH (choice) # Add more ARMv5 CPUs % CPU arch @ "armv5" ARMv5 ! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice) # Add more ARMv6 CPUs % CPU arch @ "armv6" ARMv6 ! [PLATFORM=arm32&(PROCESSOR=arm1176jzf_s)] PROCESSOR_ARCH (choice) # Add more ARMv7-A CPUs % CPU arch @ "armv7_a" ARMv7-A ! [PLATFORM=arm32&(PROCESSOR=cortex_a8)] PROCESSOR_ARCH (choice) % CPU type @ "R4000" MIPS R4000 ! [PLATFORM=mips32&MACHINE=msim] PROCESSOR (choice) % CPU type @ "4Kc" MIPS 4Kc ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] PROCESSOR (choice) % Kernel memory model @ "kernel" Kernel @ "large" Large ! [PLATFORM=amd64] MEMORY_MODEL (choice) % RAM disk format @ "tmpfs" TMPFS image @ "fat" FAT16 image @ "ext4fs" ext4 image ! RDFMT (choice) ## Mapping between platform and kernel architecture % Kernel architecture @ "abs32le" ! [PLATFORM=abs32le] KARCH (choice) % Kernel architecture @ "amd64" ! [PLATFORM=amd64] KARCH (choice) % Kernel architecture @ "arm32" ! [PLATFORM=arm32] KARCH (choice) % Kernel architecture @ "arm64" ! [PLATFORM=arm64] KARCH (choice) % Kernel architecture @ "ia32" ! [PLATFORM=ia32] KARCH (choice) % Kernel architecture @ "ia32xen" ! [PLATFORM=ia32xen] KARCH (choice) % Kernel architecture @ "ia64" ! [PLATFORM=ia64] KARCH (choice) % Kernel architecture @ "mips32" ! [PLATFORM=mips32] KARCH (choice) % Kernel architecture @ "ppc32" ! [PLATFORM=ppc32] KARCH (choice) % Kernel architecture @ "ppc64" ! [PLATFORM=ppc64] KARCH (choice) % Kernel architecture @ "riscv64" ! [PLATFORM=riscv64] KARCH (choice) % Kernel architecture @ "sparc64" ! [PLATFORM=sparc64] KARCH (choice) ## Mapping between platform and user space architecture % User space architecture @ "abs32le" ! [PLATFORM=abs32le] UARCH (choice) % User space architecture @ "amd64" ! [PLATFORM=amd64] UARCH (choice) % User space architecture @ "arm32" ! [PLATFORM=arm32] UARCH (choice) % User space architecture @ "arm64" ! [PLATFORM=arm64] UARCH (choice) % User space architecture @ "ia32" ! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice) % User space architecture @ "ia64" ! [PLATFORM=ia64] UARCH (choice) % User space architecture @ "mips32" ! [PLATFORM=mips32] UARCH (choice) % User space architecture @ "ppc32" ! [PLATFORM=ppc32] UARCH (choice) % User space architecture @ "ppc64" ! [PLATFORM=ppc64] UARCH (choice) % User space architecture @ "riscv64" ! [PLATFORM=riscv64] UARCH (choice) % User space architecture @ "sparc64" ! [PLATFORM=sparc64] UARCH (choice) ## Mapping between platform and boot architecture % Boot architecture @ "abs32le" ! [PLATFORM=abs32le] BARCH (choice) % Boot architecture @ "amd64" ! [PLATFORM=amd64] BARCH (choice) % Boot architecture @ "arm32" ! [PLATFORM=arm32] BARCH (choice) % Boot architecture @ "arm64" ! [PLATFORM=arm64] BARCH (choice) % Boot architecture @ "ia32" ! [PLATFORM=ia32] BARCH (choice) % Boot architecture @ "ia32xen" ! [PLATFORM=ia32xen] BARCH (choice) % Boot architecture @ "ia64" ! [PLATFORM=ia64] BARCH (choice) % Boot architecture @ "mips32" ! [PLATFORM=mips32] BARCH (choice) % Boot architecture @ "ppc32" ! [PLATFORM=ppc32] BARCH (choice) % Boot architecture @ "ppc64" ! [PLATFORM=ppc64] BARCH (choice) % Boot architecture @ "riscv64" ! [PLATFORM=riscv64] BARCH (choice) % Boot architecture @ "sparc64" ! [PLATFORM=sparc64] BARCH (choice) ## Mapping between platform and image format % Image format @ "binary" ! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice) % Image format @ "elf" ! [PLATFORM=mips32&(MACHINE=bmalta|MACHINE=lmalta)] IMAGE (choice) ## Compiler options % Compiler @ "gcc_cross" GNU C Compiler (HelenOS-specific cross-compiler) @ "clang" Clang ! COMPILER (choice) % Clang Integrated Assembler @ "default" Use architecture default. @ "yes" Use integrated assembler. @ "no" Use GNU Assembler. ! [COMPILER=clang] INTEGRATED_AS (choice) ## Cross-compiler target for abstract architecture % Cross-compiler target @ "arm32" ARM 32-bit @ "ia32" Intel IA-32 @ "mips32" MIPS 32-bit ! [PLATFORM=abs32le&COMPILER=gcc_cross] CROSS_TARGET (choice) ## Kernel configuration % Fences ! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y) % Fences ! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y) % Fences ! [PLATFORM=amd64] CONFIG_FENCES_P4 (y) % IOMAP bitmap support ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_IOMAP_BITMAP (y) % IOMAP dummy support ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_IOMAP_DUMMY (y) % ACPI support ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y) % Hierarchical page tables support ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64] CONFIG_PAGE_PT (y) % Page hash table support ! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y) % Software integer division support ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y) % ASID support ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y) % ASID FIFO support ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y) % OpenFirmware tree support ! [PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_OFW_TREE (y) % OpenFirmware PCI bus support ! [PLATFORM=sparc64] CONFIG_OFW_PCI (y) % Multiboot standard support ! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y) % FPU support ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_FPU (y) ## ARMv7 made FPU hardware compulsory % FPU support ! [PLATFORM=arm32&PROCESSOR_ARCH=armv7_a] CONFIG_FPU (y) % FPU support ! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_FPU (y) ## Kernel features options % Support for SMP ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n) % Debug build ! CONFIG_DEBUG (y/n) % Early debugging print ! [CONFIG_DEBUG=y] CONFIG_DEBUG_EARLY_PRINT (n/y) % Sanitize undefined behavior (userspace) ! CONFIG_UBSAN (n/y) % Sanitize undefined behavior (kernel) ! CONFIG_UBSAN_KERNEL (n/y) % Track owner for futexes in userspace. ! CONFIG_DEBUG_FUTEX (y/n) % Deadlock detection support for spinlocks ! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n) % Lazy FPU context switching ! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n) % Use VHPT ! [PLATFORM=ia64] CONFIG_VHPT (n/y) % Use TSB ! [PLATFORM=sparc64] CONFIG_TSB (y/n) % IO SAPIC on default address support ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n) % Support for Intel i8259 PIC ! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=mips32&MACHINE=bmalta)|(PLATFORM=mips32&MACHINE=lmalta)] CONFIG_I8259 (y) % Virtually indexed D-cache support ! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n) % Support for userspace debuggers ! CONFIG_UDEBUG (y/n) % Kernel console support ! CONFIG_KCONSOLE (y/n) % Kernel symbol information ! CONFIG_SYMTAB (y/n) % Detailed kernel logging ! CONFIG_LOG (n/y) % Kernel function tracing ! CONFIG_TRACE (n/y) % Compile kernel tests ! CONFIG_TEST (y/n) % Use link-time optimization ! [COMPILER=gcc_cross] CONFIG_LTO (n/y) % Compress init data ! CONFIG_COMPRESSED_INIT (y/n) ## User space features options ## Hardware support % Input device class @ "generic" Keyboard or serial line ! [(PLATFORM=arm32&MACHINE=integratorcp)|PLATFORM=arm64] CONFIG_HID_IN (choice) % Input device class @ "generic" Keyboard or serial line @ "none" No input device ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_HID_IN (choice) % Input device class @ "generic" Keyboard or serial line @ "keyboard" Keyboard @ "serial" Serial line @ "none" No input device ! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice) % Output device class @ "generic" Monitor or serial line ! [(PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi))|PLATFORM=arm64] CONFIG_HID_OUT (choice) % Output device class @ "generic" Monitor or serial line @ "none" No output device ! [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) % PC keyboard support ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n) % PC keyboard support ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n) % PC keyboard support ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_AT_KBD (y/n) % Support for msim keyboard ! [CONFIG_HID_IN=generic&MACHINE=msim] CONFIG_MSIM_KBD (y/n) % Support for msim printer ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&MACHINE=msim] CONFIG_MSIM_PRN (y/n) % Support for VIA CUDA controller ! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n) % Support for NS16550 controller ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n) % Support for NS16550 controller ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n) % Support for NS16550 controller ! [CONFIG_HID_IN=generic&PLATFORM=mips32&(MACHINE=lmalta|MACHINE=bmalta)] CONFIG_NS16550 (y) % Support for PL011 UART ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi))] CONFIG_PL011_UART (y/n) % Support for PL011 UART ! [CONFIG_HID_OUT=generic|(PLATFORM=arm64&(MACHINE=virt|MACHINE=hikey960))] CONFIG_PL011_UART (y) % Support for NS16550 controller (kernel console) ! [(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) % Use NS16550 controller as serial input (kernel console) ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550 (y) % Use NS16550 controller as dummy serial output (kernel console) ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_NS16550_KCON=y] CONFIG_NS16550_OUT (y) % Use NS16550 controller as dummy serial output (kernel console) ! [CONFIG_HID_OUT=generic&PLATFORM=mips32&(MACHINE=lmalta|MACHINE=bmalta)] CONFIG_NS16550_OUT (y) % Support for Samsung S3C24XX on-chip UART ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_UART (y/n) % Support for Samsung S3C24XX on-chip interrupt controller ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y) % Support for TI AM335x timers support ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y) % Support for OMAP on-chip UART ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n) % Support for BCM2835 mailbox ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n) % Support for ARM GICv2 ! [PLATFORM=arm64&(MACHINE=virt|MACHINE=hikey960)] CONFIG_GICV2 (y) % Support for i8042 controller ! [CONFIG_PC_KBD=y] CONFIG_I8042 (y) % Support for pl050 controller ! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y) % Sun keyboard support ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_KBD (y) % Sun serial console support ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&CONFIG_NS16550=y] CONFIG_SUN_TTY (y) % Macintosh ADB keyboard support ! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y) % Dummy serial line input ! [CONFIG_MSIM_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y) % Dummy serial line output ! [CONFIG_MSIM_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y) % Serial line input module ! [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) % L4Re uvmm print hypercall support ! [PLATFORM=amd64] CONFIG_L4RE_UVMM_EARLY_PRINT (n/y) % EGA support ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n) % EGA support ! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n) % Framebuffer support ! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n) % Framebuffer support ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n) % Framebuffer support ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n) % Default framebuffer mode @ "640x480" @ "800x600" @ "1024x768" @ "1152x720" @ "1152x864" @ "1280x720" @ "1280x800" @ "1280x960" @ "1280x1024" @ "1400x1050" @ "1440x900" @ "1440x1050" @ "1600x1200" @ "1920x1080" @ "1920x1200" ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_MODE (choice) % Default framebuffer depth @ "8" @ "16" @ "24" @ "32" ! [(PLATFORM=ia32|PLATFORM=amd64|MACHINE=beagleboardxm)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_BFB_BPP (choice) % Window system ! [CONFIG_FB=y] CONFIG_WINSYS (y/n) % Display double buffering ! [CONFIG_WINSYS=y] CONFIG_DISP_DOUBLE_BUF (y/n) % Client-side UI rendering ! CONFIG_UI_CS_RENDER (y/n) % Window double buffering ! [CONFIG_UI_CS_RENDER=y] CONFIG_WIN_DOUBLE_BUF (n/y) % Start AP processors by the loader ! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n) % Dynamic linking support ! [PLATFORM=amd64|PLATFORM=arm32|PLATFORM=ia32|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_RTLD (y/n) ! [PLATFORM=abs32le|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=riscv64] CONFIG_RTLD (n) % Build shared libraries ! [CONFIG_RTLD=y] CONFIG_BUILD_SHARED_LIBS (n/y) ! [CONFIG_RTLD=n] CONFIG_BUILD_SHARED_LIBS (n) % Link against shared libraries ! [CONFIG_BUILD_SHARED_LIBS=y] CONFIG_USE_SHARED_LIBS (n/y) ! [CONFIG_BUILD_SHARED_LIBS=n] CONFIG_USE_SHARED_LIBS (n) % Launch (devman) test drivers ! [CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (n/y) % Write core files ! CONFIG_WRITE_CORE_FILES (n/y) % Include userspace unit tests (PCUT) ! CONFIG_PCUT_TESTS (n/y) % Include PCUT self-tests ! CONFIG_PCUT_SELF_TESTS (n/y) % Include development files (headers, libraries) ! CONFIG_DEVEL_FILES (n/y) % Strip binaries ! CONFIG_STRIP_BINARIES (n/y) % Strip revision information (helpful when comparing outputs) ! CONFIG_STRIP_REVISION_INFO (n/y) % Optimization level @ "3" Level 3 (recommended). @ "2" Level 2. @ "1" Level 1. @ "0" Disable optimizations. @ "s" Optimize for size. @ "g" Enable only optimizations that don't harm debugging. @ "fast" Level 3 + aggressive optimizations that can affect adherence to standards. ! OPTIMIZATION (choice) % Barebone build with essential binaries only ! CONFIG_BAREBONE (n/y) % Line debugging information ! [CONFIG_STRIP_BINARIES!=y] CONFIG_LINE_DEBUG (n/y) # USB settings % Start virtual USB host controller ! CONFIG_RUN_VIRTUAL_USB_HC (n/y) % OHCI root hub port power switching @ "no" All root hub ports are always powered. @ "ganged" Root hub ports are all powered or all off. @ "per_port" Powered status of every root hub port is independent. ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32] OHCI_POWER_SWITCH (choice) % GRUB boot loader architecture @ "pc" GRUB for PC @ "efi" GRUB for UEFI ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice) % GRUB boot loader architecture @ "efi" GRUB for UEFI ! [PLATFORM=arm64&MACHINE=virt] GRUB_ARCH (choice) % uImage OS type @ "2" NetBSD stage 2 boot loader ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice) % uImage OS type @ "5" Linux kernel ! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)