Reduce warnings/errors in libpayload when using picky compiler options
[coreboot.git] / payloads / libpayload / Config.in
1 ##
2 ## This file is part of the libpayload project.
3 ##
4 ## Copyright (C) 2008 Advanced Micro Devices, Inc.
5 ## Copyright (C) 2008 coresystems GmbH
6 ##
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted provided that the following conditions
9 ## are met:
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.
17 ##
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
28 ## SUCH DAMAGE.
29 ##
30
31 mainmenu "Libpayload Configuration"
32
33 menu "Generic Options"
34
35 config EXPERIMENTAL
36         bool "Experimental Options"
37         default n
38         help
39           Prompt for experimental functionality. Attention: This is not likely
40           to work without problems
41
42 config OBSOLETE
43         bool "Obsolete Options"
44         default n
45         help
46           Prompt for obsolete options. These options are for old, unsupported
47           features and are likely to go away in the future.
48
49 config DEVELOPER
50         bool "Developer Options"
51         default n
52         help
53           Prompt for developer options. These options are only interesting for
54           libpayload developers.
55
56 endmenu
57
58 menu "Architecture Options"
59
60 choice
61         prompt "Target Architecture"
62         default TARGET_I386
63
64 config TARGET_I386
65         bool "x86"
66         help
67           Support the x86 architecture
68
69 config TARGET_POWERPC
70         bool "PowerPC"
71         help
72           Support the PowerPC architecture
73
74 endchoice
75
76 config MEMMAP_RAM_ONLY
77         bool "Only consider RAM entries in memory map for further processing"
78         default n
79
80 config MULTIBOOT
81         bool "Multiboot header support"
82         depends on TARGET_I386
83         default y
84
85 endmenu
86
87 menu "Standard Libraries"
88
89 config LIBC
90         bool "Enable C library support"
91         default y
92
93 config TINYCURSES
94         bool "Enable tinycurses support"
95         default y
96
97 config LAR
98         bool "LAR support"
99         default n
100         depends on OBSOLETE
101         help
102           LAR is the archive format of (obsolete) coreboot v3
103
104 config CBFS
105         bool "CBFS support"
106         default y
107         help
108           CBFS is the archive format of (obsolete) coreboot v3
109 endmenu
110
111 menu "Console Options"
112
113 config SERIAL_CONSOLE
114         bool "See output on the serial port console"
115         default y
116
117 config SERIAL_IOBASE
118         hex "I/O base for the serial port (default 0x3f8)"
119         depends on SERIAL_CONSOLE
120         default 0x3f8
121
122 config SERIAL_SET_SPEED
123         bool "Override the serial console baud rate"
124         default n
125         depends on SERIAL_CONSOLE
126
127 config SERIAL_BAUD_RATE
128         int "Serial console baud rate (default 115200)"
129         depends on SERIAL_SET_SPEED
130         default 115200
131
132 config SERIAL_ACS_FALLBACK
133         bool "Use plain ASCII characters for ACS"
134         default n
135         depends on SERIAL_CONSOLE
136         help
137           The alternate character set (ACS) is used for drawing lines and
138           displaying a couple of other special graphics characters.  The
139           ACS characters generally look good on screen, but can be difficult
140           to cut and paste from a terminal window to a text editor.
141
142           Say 'y' here if you want to always use plain ASCII characters to
143           approximate the appearance of ACS characters on the serial port
144           console.
145
146 config VIDEO_CONSOLE
147         bool "See output on a video console"
148         default y
149
150 config VGA_VIDEO_CONSOLE
151         bool "VGA video console driver"
152         depends on VIDEO_CONSOLE
153         default y
154
155 config GEODELX_VIDEO_CONSOLE
156         bool "Geode LX video console driver"
157         depends on VIDEO_CONSOLE
158         default n
159
160 config COREBOOT_VIDEO_CONSOLE
161         bool "coreboot video console driver"
162         depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
163         default n
164         help
165           Say Y here if coreboot switched to a graphics mode and
166           your payload wants to use it.
167
168 config PC_KEYBOARD
169         bool "Allow input from a PC keyboard"
170         default y
171
172 config PC_KEYBOARD_LAYOUT_US
173         bool "English (US) keyboard layout"
174         depends on PC_KEYBOARD
175         default y
176
177 config PC_KEYBOARD_LAYOUT_DE
178         bool "German keyboard layout"
179         depends on PC_KEYBOARD
180         default n
181
182 endmenu
183
184 menu "Drivers"
185
186 config PCI
187         bool "Support for PCI devices"
188         default y
189
190 config NVRAM
191         bool "Support for reading/writing NVRAM bytes"
192         default y
193
194 config RTC_PORT_EXTENDED_VIA
195         bool "Extended RTC ports are 0x74/0x75"
196         default n
197         help
198           For recent chipsets with 256 NVRAM bytes, you have to access the
199           upper 128 bytes (128-255) using two different I/O ports,
200           usually 0x72/0x73.
201
202           On some chipsets this can be a different set of ports, though.
203           The VIA VT8237R for example only recognizes the ports 0x74/0x75
204           for accessing the high 128 NVRAM bytes (as seems to be the case for
205           multiple VIA chipsets).
206
207           If you want to read or write CMOS bytes on computers with one of
208           these chipsets, say 'y' here.
209
210 config SPEAKER
211         bool "Support for PC speaker"
212         default y
213
214 config USB
215         bool "USB Support"
216         default n
217
218 config USB_UHCI
219         bool "Support for USB UHCI controllers"
220         depends on USB
221         help
222           Select this option if you are going to use USB 1.1 on an Intel based
223           system.
224
225 config USB_OHCI
226         bool "Support for USB OHCI controllers"
227         depends on USB
228         help
229           Select this option if you are going to use USB 1.1 on an AMD based
230           system.
231
232 config USB_EHCI
233         bool "Support for USB EHCI controllers"
234         depends on USB
235         help
236           Select this option if you want to use USB 2.0
237
238 config USB_XHCI
239         bool "Support for USB xHCI controllers"
240         depends on USB
241         help
242           Select this option if you want to use USB 3.0
243           NOTE: This option is not (fully) implemented yet
244
245 config USB_HID
246         bool "Support for USB keyboards"
247         depends on USB
248         default y
249         help
250           Select this option if you want to use devices complying to the
251           USB HID (Human Interface Device) standard. Such devices are for
252           example keyboards and mice. Currently only keyboards are supported.
253           Say Y here unless you know exactly what you are doing.
254
255 config USB_HUB
256         bool "Support for USB hubs"
257         depends on USB
258         default y
259         help
260           Select this option if you want to compile in support for USB hubs.
261           Say Y here unless you know exactly what you are doing.
262
263 config USB_MSC
264         bool "Support for USB storage"
265         depends on USB
266         default y
267         help
268           Select this option if you want to compile in support for USB mass
269           storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
270           Say Y here unless you know exactly what you are doing.
271
272 endmenu
273
274 menu "Debugging"
275         depends on DEVELOPER
276
277 config DEBUG_MALLOC
278         bool "Debug memory allocator"
279         depends on USB
280         default n
281         help
282           Select this option if you want to debug the memory allocator. This
283           option logs all uses of the following functions:
284
285             void free(void *ptr);
286             void *malloc(size_t size);
287             void *calloc(size_t nmemb, size_t size);
288             void *realloc(void *ptr, size_t size);
289             void *memalign(size_t align, size_t size);
290
291           Say N here unless you are debugging memory allocator problems.
292
293 endmenu
294