Expand user configurable parameters in Kconfig.
[seabios.git] / src / Kconfig
1 # Kconfig SeaBIOS configuration
2
3 mainmenu "SeaBIOS Configuration"
4
5 menu "General Features"
6
7     config COREBOOT
8         bool "Build for coreboot"
9         default n
10         help
11             Configure as a coreboot payload.
12
13     config THREADS
14         bool "Parallelize hardware init"
15         default y
16         help
17             Support running hardware initialization in parallel.
18     config THREAD_OPTIONROMS
19         depends on THREADS
20         bool "Hardware init during option ROM execution"
21         default n
22         help
23             Allow hardware init to run in parallel with optionrom execution.
24
25     config RELOCATE_INIT
26         bool "Copy init code to high memory"
27         default y
28         help
29             Support relocating the one time initialization code to high memory.
30
31     config BOOTMENU
32         depends on BOOT
33         bool "Bootmenu"
34         default y
35         help
36             Support an interactive boot menu at end of post.
37     config BOOTMENU_WAIT
38         depends on BOOTMENU
39         int "Bootmenu delay"
40         default 2500
41         help
42             Amount of time (in ms) to wait at menu before selecting normal boot.
43     config BOOTSPLASH
44         depends on BOOTMENU
45         bool "Graphical boot splash screen"
46         default y
47         help
48             Support showing a graphical boot splash screen.
49
50     config COREBOOT_FLASH
51         depends on COREBOOT
52         bool "coreboot CBFS support"
53         default y
54         help
55             Support searching coreboot flash format.
56     config LZMA
57         depends on COREBOOT_FLASH
58         bool "CBFS lzma support"
59         default y
60         help
61             Support CBFS files compressed using the lzma decompression
62             algorighm.
63     config FLASH_FLOPPY
64         depends on COREBOOT_FLASH
65         bool "Floppy images in CBFS"
66         default y
67         help
68             Support floppy images in coreboot flash.
69
70 endmenu
71
72 menu "Hardware support"
73     config ATA
74         depends on DRIVES
75         bool "ATA controllers"
76         default y
77         help
78             Support for IDE disk code.
79     config ATA_DMA
80         depends on ATA
81         bool "ATA DMA"
82         default n
83         help
84             Detect and try to use ATA bus mastering DMA controllers.
85     config ATA_PIO32
86         depends on ATA
87         bool "ATA 32bit PIO"
88         default n
89         help
90             Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
91     config AHCI
92         depends on DRIVES
93         bool "AHCI controllers"
94         default n
95         help
96             Support for AHCI disk code.
97     config VIRTIO_BLK
98         depends on DRIVES && !COREBOOT
99         bool "VirtIO controllers"
100         default y
101         help
102             Support boot from virtio storage.
103     config FLOPPY
104         depends on DRIVES
105         bool "Floppy controller"
106         default y
107         help
108             Support floppy drive access.
109
110     config PS2PORT
111         depends on KEYBOARD || MOUSE
112         bool "PS/2 port"
113         default y
114         help
115             Support PS2 ports (keyboard and mouse).
116
117     config USB
118         bool "USB"
119         default y
120         help
121             Support USB devices.
122     config USB_UHCI
123         depends on USB
124         bool "USB UHCI controllers"
125         default y
126         help
127             Support USB UHCI controllers.
128     config USB_OHCI
129         depends on USB
130         bool "USB OHCI controllers"
131         default y
132         help
133             Support USB OHCI controllers.
134     config USB_EHCI
135         depends on USB
136         bool "USB EHCI controllers"
137         default y
138         help
139             Support USB EHCI controllers.
140     config USB_MSC
141         depends on USB && DRIVES
142         bool "USB drives"
143         default y
144         help
145             Support USB disks.
146     config USB_HUB
147         depends on USB
148         bool "USB hubs"
149         default y
150         help
151             Support USB hubs.
152     config USB_KEYBOARD
153         depends on USB && KEYBOARD
154         bool "USB keyboards"
155         default y
156         help
157             Support USB keyboards.
158     config USB_MOUSE
159         depends on USB && MOUSE
160         bool "USB mice"
161         default y
162         help
163             Support USB mice.
164
165     config SERIAL
166         bool "Serial port"
167         default y
168         help
169             Support serial ports.  This also enables int 14 serial port calls.
170     config LPT
171         bool "Parallel port"
172         default y
173         help
174             Support parallel ports. This also enables int 17 parallel port calls.
175
176     config EXTRA_PCI_ROOTS
177         bool "Extra root buses"
178         default n
179         help
180             If the target machine has multiple independent root buses,
181             the extra buses may be specified here.
182     config PCI_ROOT1
183         depends on EXTRA_PCI_ROOTS
184         hex "Extra primary PCI root bus number"
185         default 0x00
186     config PCI_ROOT2
187         depends on EXTRA_PCI_ROOTS
188         hex "Extra secondary PCI root bus number"
189         default 0x00
190
191     config USE_SMM
192         depends on !COREBOOT
193         bool "System Management Mode (SMM)"
194         default y
195         help
196             Support System Management Mode (on emulators).
197 endmenu
198
199 menu "BIOS interfaces"
200     config DRIVES
201         bool "Drive interface"
202         default y
203         help
204             Support int13 disk/floppy drive functions.
205
206     config CDROM_BOOT
207         depends on DRIVES
208         bool "DVD/CDROM booting"
209         default y
210         help
211             Support for booting from a CD.  (El Torito spec support.)
212     config CDROM_EMU
213         depends on CDROM_BOOT
214         bool "DVD/CDROM boot drive emulation"
215         default y
216         help
217             Support bootable CDROMs that emulate a floppy/harddrive.
218
219     config PCIBIOS
220         bool "PCIBIOS interface"
221         default y
222         help
223             Support int 1a/b1 PCI BIOS calls.
224     config APMBIOS
225         bool "APM interface"
226         default y
227         help
228             Support int 15/53 APM BIOS calls.
229     config PNPBIOS
230         bool "PnP BIOS interface"
231         default y
232         help
233             Support PnP BIOS entry point.
234     config OPTIONROMS
235         bool "Option ROMS"
236         default y
237         help
238             Support finding and running option roms during POST.
239     config OPTIONROMS_DEPLOYED
240         depends on OPTIONROMS
241         bool "Option roms are already at 0xc0000-0xf0000"
242         default n
243         help
244             Select this if option ROMs are already copied to
245             0xc0000-0xf0000.  This must only be selected when using
246             Bochs or QEMU versions older than 0.12.
247     config PMM
248         depends on OPTIONROMS
249         bool "PMM interface"
250         default y
251         help
252             Support Post Memory Manager (PMM) entry point.
253     config BOOT
254         bool "Boot interface"
255         default y
256         help
257             Support int 19/18 system bootup support.
258     config KEYBOARD
259         bool "Keyboard interface"
260         default y
261         help
262             Support int 16 keyboard calls.
263     config KBD_CALL_INT15_4F
264         depends on KEYBOARD
265         bool "Keyboard hook interface"
266         default y
267         help
268             Support calling int155f on each keyboard event.
269     config MOUSE
270         bool "Mouse interface"
271         default y
272         help
273             Support for int15c2 mouse calls.
274
275     config S3_RESUME
276         bool "S3 resume"
277         default y
278         help
279             Support S3 resume handler.
280     config S3_RESUME_VGA_INIT
281         depends on S3_RESUME
282         bool "Run VGA rom on S3 resume"
283         default n
284         help
285             Run the vga rom during S3 resume.
286
287     config VGAHOOKS
288         depends on COREBOOT
289         bool "Hardware specific VGA helpers"
290         default y
291         help
292             Support int 155f BIOS callbacks specific to some Intel and
293             VIA on-board vga devices.
294
295     config DISABLE_A20
296         bool "Disable A20"
297         default n
298         help
299             Disable A20 on 16bit boot.
300 endmenu
301
302 menu "BIOS Tables"
303     config PIRTABLE
304         depends on !COREBOOT
305         bool "PIR table"
306         default y
307         help
308             Support generation of a PIR table in 0xf000 segment.
309     config MPTABLE
310         depends on !COREBOOT
311         bool "MPTable"
312         default y
313         help
314             Support generation of MPTable.
315     config SMBIOS
316         bool "SMBIOS"
317         default y
318         help
319             Support generation of SM BIOS tables.  This is also
320             sometimes called DMI.
321     config ACPI
322         depends on !COREBOOT
323         bool "ACPI"
324         default y
325         help
326             Support generation of ACPI tables.
327 endmenu
328
329 menu "Debugging"
330     config DEBUG_LEVEL
331         int "Debug level"
332         default 1
333         help
334             Control how verbose debug output is.  The higher the
335             number, the more verbose SeaBIOS will be.
336
337             Set to zero to disable debugging.
338
339     config DEBUG_SERIAL
340         depends on DEBUG_LEVEL != 0
341         bool "Serial port debugging"
342         default n
343         help
344             Send debugging information to serial port.
345
346     config SCREEN_AND_DEBUG
347         depends on DEBUG_LEVEL != 0
348         bool "Show screen writes on debug ports"
349         default y
350         help
351             Send characters that SeaBIOS writes to the screen to the
352             debug ports.
353 endmenu