2 ## This file is part of the libpayload project.
4 ## Copyright (C) 2008 Advanced Micro Devices, Inc.
5 ## Copyright (C) 2008 coresystems GmbH
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted provided that the following conditions
10 ## 1. Redistributions of source code must retain the above copyright
11 ## notice, this list of conditions and the following disclaimer.
12 ## 2. 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 ## 3. 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 AND CONTRIBUTORS ``AS IS'' AND
19 ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 ## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 mainmenu "Libpayload Configuration"
33 menu "Generic Options"
36 bool "Experimental Options"
39 Prompt for experimental functionality. Attention: This is not likely
40 to work without problems
43 bool "Obsolete Options"
46 Prompt for obsolete options. These options are for old, unsupported
47 features and are likely to go away in the future.
50 bool "Developer Options"
53 Prompt for developer options. These options are only interesting for
54 libpayload developers.
58 menu "Architecture Options"
61 prompt "Target Architecture"
67 Support the x86 architecture
72 Support the PowerPC architecture
76 config MEMMAP_RAM_ONLY
77 bool "Only consider RAM entries in memory map for further processing"
81 bool "Multiboot header support"
82 depends on TARGET_I386
87 menu "Standard Libraries"
90 bool "Enable C library support"
94 bool "Build a curses library"
98 prompt "Curses implementation"
105 Tinycurses was the first curses implementation for libpayload.
106 It features low memory consumption, static allocation of larger
107 data structures (so few or no memory allocation calls) and a
114 libpayload's PDCurses port provides a full features curses
115 implementation, including libpanel, libmenu and libform (which
116 are taken from ncurses).
117 It requires more system resources, in particularily heap memory.
126 LAR is the archive format of (obsolete) coreboot v3
132 CBFS is the archive format of (obsolete) coreboot v3
135 menu "Console Options"
137 config SERIAL_CONSOLE
138 bool "See output on the serial port console"
142 hex "I/O base for the serial port (default 0x3f8)"
143 depends on SERIAL_CONSOLE
146 config SERIAL_SET_SPEED
147 bool "Override the serial console baud rate"
149 depends on SERIAL_CONSOLE
151 config SERIAL_BAUD_RATE
152 int "Serial console baud rate (default 115200)"
153 depends on SERIAL_SET_SPEED
156 config SERIAL_ACS_FALLBACK
157 bool "Use plain ASCII characters for ACS"
159 depends on SERIAL_CONSOLE
161 The alternate character set (ACS) is used for drawing lines and
162 displaying a couple of other special graphics characters. The
163 ACS characters generally look good on screen, but can be difficult
164 to cut and paste from a terminal window to a text editor.
166 Say 'y' here if you want to always use plain ASCII characters to
167 approximate the appearance of ACS characters on the serial port
171 bool "See output on a video console"
174 config VGA_VIDEO_CONSOLE
175 bool "VGA video console driver"
176 depends on VIDEO_CONSOLE
179 config GEODELX_VIDEO_CONSOLE
180 bool "Geode LX video console driver"
181 depends on VIDEO_CONSOLE
184 config COREBOOT_VIDEO_CONSOLE
185 bool "coreboot video console driver"
186 depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
189 Say Y here if coreboot switched to a graphics mode and
190 your payload wants to use it.
193 bool "Allow input from a PC keyboard"
196 config PC_KEYBOARD_LAYOUT_US
197 bool "English (US) keyboard layout"
198 depends on PC_KEYBOARD
201 config PC_KEYBOARD_LAYOUT_DE
202 bool "German keyboard layout"
203 depends on PC_KEYBOARD
211 bool "Support for PCI devices"
215 bool "Support for reading/writing NVRAM bytes"
218 config RTC_PORT_EXTENDED_VIA
219 bool "Extended RTC ports are 0x74/0x75"
222 For recent chipsets with 256 NVRAM bytes, you have to access the
223 upper 128 bytes (128-255) using two different I/O ports,
226 On some chipsets this can be a different set of ports, though.
227 The VIA VT8237R for example only recognizes the ports 0x74/0x75
228 for accessing the high 128 NVRAM bytes (as seems to be the case for
229 multiple VIA chipsets).
231 If you want to read or write CMOS bytes on computers with one of
232 these chipsets, say 'y' here.
235 bool "Support for PC speaker"
243 bool "Support for USB UHCI controllers"
246 Select this option if you are going to use USB 1.1 on an Intel based
250 bool "Support for USB OHCI controllers"
253 Select this option if you are going to use USB 1.1 on an AMD based
257 bool "Support for USB EHCI controllers"
260 Select this option if you want to use USB 2.0
263 bool "Support for USB xHCI controllers"
266 Select this option if you want to use USB 3.0
267 NOTE: This option is not (fully) implemented yet
270 bool "Support for USB keyboards"
274 Select this option if you want to use devices complying to the
275 USB HID (Human Interface Device) standard. Such devices are for
276 example keyboards and mice. Currently only keyboards are supported.
277 Say Y here unless you know exactly what you are doing.
280 bool "Support for USB hubs"
284 Select this option if you want to compile in support for USB hubs.
285 Say Y here unless you know exactly what you are doing.
288 bool "Support for USB storage"
292 Select this option if you want to compile in support for USB mass
293 storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
294 Say Y here unless you know exactly what you are doing.
302 bool "Debug memory allocator"
306 Select this option if you want to debug the memory allocator. This
307 option logs all uses of the following functions:
309 void free(void *ptr);
310 void *malloc(size_t size);
311 void *calloc(size_t nmemb, size_t size);
312 void *realloc(void *ptr, size_t size);
313 void *memalign(size_t align, size_t size);
315 Say N here unless you are debugging memory allocator problems.