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