## This file is part of the libpayload project.
##
## Copyright (C) 2008 Advanced Micro Devices, Inc.
+## Copyright (C) 2008 coresystems GmbH
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
mainmenu "Libpayload Configuration"
-config HAVE_DOT_CONFIG
- bool
- default y
+menu "Generic Options"
+
+config EXPERIMENTAL
+ bool "Experimental Options"
+ default n
+ help
+ Prompt for experimental functionality. Attention: This is not likely
+ to work without problems
+
+config OBSOLETE
+ bool "Obsolete Options"
+ default n
+ help
+ Prompt for obsolete options. These options are for old, unsupported
+ features and are likely to go away in the future.
+
+config DEVELOPER
+ bool "Developer Options"
+ default n
+ help
+ Prompt for developer options. These options are only interesting for
+ libpayload developers.
+
+endmenu
+
+menu "Architecture Options"
+
+choice
+ prompt "Target Architecture"
+ default TARGET_I386
-# When (if) we support multiple architectures, this will become an option.
config TARGET_I386
- bool
+ bool "x86"
+ help
+ Support the x86 architecture
+
+config TARGET_POWERPC
+ bool "PowerPC"
+ help
+ Support the PowerPC architecture
+
+endchoice
+
+config MEMMAP_RAM_ONLY
+ bool "Only consider RAM entries in memory map for further processing"
+ default n
+
+config MULTIBOOT
+ bool "Multiboot header support"
+ depends on TARGET_I386
default y
-menu "Output Options"
+endmenu
+
+menu "Standard Libraries"
+
+config LIBC
+ bool "Enable C library support"
+ default y
+
+config TINYCURSES
+ bool "Enable tinycurses support"
+ default y
+
+config LAR
+ bool "LAR support"
+ default n
+ depends on OBSOLETE
+ help
+ LAR is the archive format of (obsolete) coreboot v3
+
+config CBFS
+ bool "CBFS support"
+ default y
+ help
+ CBFS is the archive format of (obsolete) coreboot v3
+endmenu
+
+menu "Console Options"
config SERIAL_CONSOLE
bool "See output on the serial port console"
config SERIAL_IOBASE
hex "I/O base for the serial port (default 0x3f8)"
- depends SERIAL_CONSOLE
+ depends on SERIAL_CONSOLE
default 0x3f8
config SERIAL_SET_SPEED
bool "Override the serial console baud rate"
default n
- depends SERIAL_CONSOLE
+ depends on SERIAL_CONSOLE
config SERIAL_BAUD_RATE
int "Serial console baud rate (default 115200)"
- depends SERIAL_SET_SPEED
+ depends on SERIAL_SET_SPEED
default 115200
+config SERIAL_ACS_FALLBACK
+ bool "Use plain ASCII characters for ACS"
+ default n
+ depends on SERIAL_CONSOLE
+ help
+ The alternate character set (ACS) is used for drawing lines and
+ displaying a couple of other special graphics characters. The
+ ACS characters generally look good on screen, but can be difficult
+ to cut and paste from a terminal window to a text editor.
+
+ Say 'y' here if you want to always use plain ASCII characters to
+ approximate the appearance of ACS characters on the serial port
+ console.
+
config VIDEO_CONSOLE
bool "See output on a video console"
default y
depends on VIDEO_CONSOLE
default y
+config GEODELX_VIDEO_CONSOLE
+ bool "Geode LX video console driver"
+ depends on VIDEO_CONSOLE
+ default n
+
+config COREBOOT_VIDEO_CONSOLE
+ bool "coreboot video console driver"
+ depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
+ default n
+ help
+ Say Y here if coreboot switched to a graphics mode and
+ your payload wants to use it.
+
config PC_KEYBOARD
bool "Allow input from a PC keyboard"
default y
+config PC_KEYBOARD_LAYOUT_US
+ bool "English (US) keyboard layout"
+ depends on PC_KEYBOARD
+ default y
+
+config PC_KEYBOARD_LAYOUT_DE
+ bool "German keyboard layout"
+ depends on PC_KEYBOARD
+ default n
+
+endmenu
+
+menu "Drivers"
+
+config PCI
+ bool "Support for PCI devices"
+ default y
+
config NVRAM
bool "Support for reading/writing NVRAM bytes"
default y
For recent chipsets with 256 NVRAM bytes, you have to access the
upper 128 bytes (128-255) using two different I/O ports,
usually 0x72/0x73.
-
+
On some chipsets this can be a different set of ports, though.
The VIA VT8237R for example only recognizes the ports 0x74/0x75
for accessing the high 128 NVRAM bytes (as seems to be the case for
multiple VIA chipsets).
-
+
If you want to read or write CMOS bytes on computers with one of
these chipsets, say 'y' here.
-endmenu
+config SPEAKER
+ bool "Support for PC speaker"
+ default y
+
+config USB
+ bool "USB Support"
+ default n
-menu "Build Options"
+config USB_UHCI
+ bool "Support for USB UHCI controllers"
+ depends on USB
+ help
+ Select this option if you are going to use USB 1.1 on an Intel based
+ system.
-config TINYCURSES
- bool "Enable tinycurses support"
+config USB_OHCI
+ bool "Support for USB OHCI controllers"
+ depends on USB
+ help
+ Select this option if you are going to use USB 1.1 on an AMD based
+ system.
+
+config USB_EHCI
+ bool "Support for USB EHCI controllers"
+ depends on USB
+ help
+ Select this option if you want to use USB 2.0
+
+config USB_XHCI
+ bool "Support for USB xHCI controllers"
+ depends on USB
+ help
+ Select this option if you want to use USB 3.0
+ NOTE: This option is not (fully) implemented yet
+
+config USB_HID
+ bool "Support for USB keyboards"
+ depends on USB
default y
+ help
+ Select this option if you want to use devices complying to the
+ USB HID (Human Interface Device) standard. Such devices are for
+ example keyboards and mice. Currently only keyboards are supported.
+ Say Y here unless you know exactly what you are doing.
+
+config USB_HUB
+ bool "Support for USB hubs"
+ depends on USB
+ default y
+ help
+ Select this option if you want to compile in support for USB hubs.
+ Say Y here unless you know exactly what you are doing.
+
+config USB_MSC
+ bool "Support for USB storage"
+ depends on USB
+ default y
+ help
+ Select this option if you want to compile in support for USB mass
+ storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
+ Say Y here unless you know exactly what you are doing.
+
+endmenu
+
+menu "Debugging"
+ depends on DEVELOPER
+
+config DEBUG_MALLOC
+ bool "Debug memory allocator"
+ depends on USB
+ default n
+ help
+ Select this option if you want to debug the memory allocator. This
+ option logs all uses of the following functions:
+
+ void free(void *ptr);
+ void *malloc(size_t size);
+ void *calloc(size_t nmemb, size_t size);
+ void *realloc(void *ptr, size_t size);
+ void *memalign(size_t align, size_t size);
+
+ Say N here unless you are debugging memory allocator problems.
endmenu
+