blob: 5882d11abeef9859cb5e55a225cd09842d953af0 [file] [log] [blame]
Kevin O'Connor713be892011-01-26 21:19:25 -05001# Kconfig SeaBIOS configuration
2
3mainmenu "SeaBIOS Configuration"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -05004
5menu "General Features"
6
Gerd Hoffmann9600c802012-10-29 11:28:32 +01007choice
8 prompt "Build Target"
9 default QEMU
10
Kevin O'Connor713be892011-01-26 21:19:25 -050011 config COREBOOT
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050012 bool "Build for coreboot"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050013 help
14 Configure as a coreboot payload.
15
Gerd Hoffmann9600c802012-10-29 11:28:32 +010016 config QEMU
Kevin O'Connor02313b22013-02-07 22:42:25 -050017 bool "Build for QEMU/Xen/KVM/Bochs"
18 select QEMU_HARDWARE
Gerd Hoffmann9600c802012-10-29 11:28:32 +010019 help
Kevin O'Connor02313b22013-02-07 22:42:25 -050020 Configure for an emulated machine (QEMU, Xen, KVM, or Bochs).
Gerd Hoffmann9600c802012-10-29 11:28:32 +010021
David Woodhouse118469a2013-01-25 19:46:25 -060022 config CSM
23 bool "Build as Compatibilty Support Module for EFI BIOS"
24 help
25 Configure to be used by EFI firmware as Compatibility Support
26 module (CSM) to provide legacy BIOS services.
27
Gerd Hoffmann9600c802012-10-29 11:28:32 +010028endchoice
29
Kevin O'Connor02313b22013-02-07 22:42:25 -050030 config QEMU_HARDWARE
31 bool "Support hardware found on emulators (QEMU/Xen/KVM/Bochs)" if !QEMU
32 default n
33 help
34 Support virtual hardware when the code detects it is
35 running on an emulator.
36
Ian Campbell74c78782011-06-01 11:00:29 +010037 config XEN
Gerd Hoffmann9600c802012-10-29 11:28:32 +010038 depends on QEMU
Kevin O'Connor02313b22013-02-07 22:42:25 -050039 bool "Support Xen HVM"
Ian Campbell9264a2c2012-06-28 11:08:31 +010040 default y
Ian Campbell74c78782011-06-01 11:00:29 +010041 help
42 Configure to be used by xen hvmloader, for a HVM guest.
43
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050044 config THREADS
45 bool "Parallelize hardware init"
46 default y
47 help
48 Support running hardware initialization in parallel.
49 config THREAD_OPTIONROMS
David Woodhouse41fb3632013-02-14 08:55:52 +000050 depends on THREADS && !CSM
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050051 bool "Hardware init during option ROM execution"
52 default n
53 help
54 Allow hardware init to run in parallel with optionrom execution.
55
Kevin O'Connorf31171c2011-05-07 13:57:42 -040056 This can reduce boot time, but can cause some timing
57 variations during option ROM code execution. It is not
58 known if all option ROMs will behave properly with this
59 option.
60
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050061 config RELOCATE_INIT
62 bool "Copy init code to high memory"
63 default y
64 help
65 Support relocating the one time initialization code to high memory.
66
67 config BOOTMENU
68 depends on BOOT
69 bool "Bootmenu"
70 default y
71 help
72 Support an interactive boot menu at end of post.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050073 config BOOTSPLASH
74 depends on BOOTMENU
75 bool "Graphical boot splash screen"
76 default y
77 help
78 Support showing a graphical boot splash screen.
Kevin O'Connor49bf57b2011-05-10 22:08:30 -040079 config BOOTORDER
80 depends on BOOT
81 bool "Boot ordering"
82 default y
83 help
84 Support controlling of the boot order via the fw_cfg/CBFS
85 "bootorder" file.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050086
87 config COREBOOT_FLASH
88 depends on COREBOOT
89 bool "coreboot CBFS support"
90 default y
91 help
92 Support searching coreboot flash format.
93 config LZMA
94 depends on COREBOOT_FLASH
95 bool "CBFS lzma support"
96 default y
97 help
98 Support CBFS files compressed using the lzma decompression
99 algorighm.
100 config FLASH_FLOPPY
101 depends on COREBOOT_FLASH
102 bool "Floppy images in CBFS"
103 default y
104 help
105 Support floppy images in coreboot flash.
Kevin O'Connorf0d75a02013-03-02 18:14:35 -0500106 config ENTRY_EXTRASTACK
107 bool "Use internal stack for 16bit interrupt entry points"
108 default y
109 help
110 Utilize an internal stack for all the legacy 16bit
111 interrupt entry points. This reduces the amount of space
112 on the caller's stack that SeaBIOS uses. This may
113 adversely impact any legacy operating systems that call
114 the BIOS in 16bit protected mode.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500115
116endmenu
117
118menu "Hardware support"
119 config ATA
120 depends on DRIVES
121 bool "ATA controllers"
122 default y
123 help
124 Support for IDE disk code.
125 config ATA_DMA
126 depends on ATA
127 bool "ATA DMA"
128 default n
129 help
130 Detect and try to use ATA bus mastering DMA controllers.
131 config ATA_PIO32
132 depends on ATA
133 bool "ATA 32bit PIO"
134 default n
135 help
136 Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
137 config AHCI
138 depends on DRIVES
139 bool "AHCI controllers"
Gerd Hoffmannceb8ed42011-08-04 20:42:16 +0200140 default y
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500141 help
142 Support for AHCI disk code.
143 config VIRTIO_BLK
Kevin O'Connor897fb112013-02-07 23:32:48 -0500144 depends on DRIVES && QEMU_HARDWARE
Paolo Bonzini0e7fb5f2011-11-16 13:02:55 +0100145 bool "virtio-blk controllers"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500146 default y
147 help
Paolo Bonzini0e7fb5f2011-11-16 13:02:55 +0100148 Support boot from virtio-blk storage.
Paolo Bonzinic5c488f2012-02-27 17:22:23 +0100149 config VIRTIO_SCSI
Kevin O'Connor897fb112013-02-07 23:32:48 -0500150 depends on DRIVES && QEMU_HARDWARE
Paolo Bonzinic5c488f2012-02-27 17:22:23 +0100151 bool "virtio-scsi controllers"
152 default y
153 help
154 Support boot from virtio-scsi storage.
Paolo Bonzini7a39e722012-08-06 13:15:06 +0200155 config ESP_SCSI
Kevin O'Connor897fb112013-02-07 23:32:48 -0500156 depends on DRIVES && QEMU_HARDWARE
Paolo Bonzini7a39e722012-08-06 13:15:06 +0200157 bool "AMD PCscsi controllers"
158 default y
159 help
160 Support boot from AMD PCscsi storage.
Gerd Hoffmann9d6bac12012-07-20 10:59:25 +0200161 config LSI_SCSI
Kevin O'Connor897fb112013-02-07 23:32:48 -0500162 depends on DRIVES && QEMU_HARDWARE
Gerd Hoffmann9d6bac12012-07-20 10:59:25 +0200163 bool "lsi53c895a scsi controllers"
164 default y
165 help
166 Support boot from qemu-emulated lsi53c895a scsi storage.
Hannes Reinecke2df70bf2012-11-13 15:03:31 +0100167 config MEGASAS
168 depends on DRIVES
169 bool "LSI MegaRAID SAS controllers"
170 default y
171 help
172 Support boot from LSI MegaRAID SAS scsi storage.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500173 config FLOPPY
174 depends on DRIVES
175 bool "Floppy controller"
176 default y
177 help
178 Support floppy drive access.
179
180 config PS2PORT
181 depends on KEYBOARD || MOUSE
182 bool "PS/2 port"
183 default y
184 help
185 Support PS2 ports (keyboard and mouse).
186
187 config USB
188 bool "USB"
189 default y
190 help
191 Support USB devices.
192 config USB_UHCI
193 depends on USB
194 bool "USB UHCI controllers"
195 default y
196 help
197 Support USB UHCI controllers.
198 config USB_OHCI
199 depends on USB
200 bool "USB OHCI controllers"
201 default y
202 help
203 Support USB OHCI controllers.
204 config USB_EHCI
205 depends on USB
206 bool "USB EHCI controllers"
207 default y
208 help
209 Support USB EHCI controllers.
210 config USB_MSC
211 depends on USB && DRIVES
212 bool "USB drives"
213 default y
214 help
Gerd Hoffmanne53e30d2012-07-20 10:59:24 +0200215 Support USB BOT (bulk-only transport) disks.
216 config USB_UAS
217 depends on USB && DRIVES
218 bool "UAS drives"
219 default y
220 help
221 Support USB UAS (usb attached scsi) disks.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500222 config USB_HUB
223 depends on USB
224 bool "USB hubs"
225 default y
226 help
227 Support USB hubs.
228 config USB_KEYBOARD
229 depends on USB && KEYBOARD
230 bool "USB keyboards"
231 default y
232 help
233 Support USB keyboards.
234 config USB_MOUSE
235 depends on USB && MOUSE
236 bool "USB mice"
237 default y
238 help
239 Support USB mice.
240
241 config SERIAL
242 bool "Serial port"
243 default y
244 help
245 Support serial ports. This also enables int 14 serial port calls.
246 config LPT
247 bool "Parallel port"
248 default y
249 help
250 Support parallel ports. This also enables int 17 parallel port calls.
251
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500252 config USE_SMM
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100253 depends on QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500254 bool "System Management Mode (SMM)"
255 default y
256 help
257 Support System Management Mode (on emulators).
Kevin O'Connor424f2172011-03-06 19:06:48 -0500258 config MTRR_INIT
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100259 depends on QEMU
Kevin O'Connor424f2172011-03-06 19:06:48 -0500260 bool "Initialize MTRRs"
261 default y
262 help
263 Initialize the Memory Type Range Registers (on emulators).
Gerd Hoffmann455a7c82012-09-06 08:01:00 +0200264 config PMTIMER
Gerd Hoffmann455a7c82012-09-06 08:01:00 +0200265 bool "Use ACPI timer"
266 default y
267 help
268 Use the ACPI timer instead of the TSC for timekeeping (on qemu).
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500269endmenu
270
271menu "BIOS interfaces"
272 config DRIVES
273 bool "Drive interface"
274 default y
275 help
276 Support int13 disk/floppy drive functions.
277
278 config CDROM_BOOT
279 depends on DRIVES
280 bool "DVD/CDROM booting"
281 default y
282 help
283 Support for booting from a CD. (El Torito spec support.)
284 config CDROM_EMU
285 depends on CDROM_BOOT
286 bool "DVD/CDROM boot drive emulation"
287 default y
288 help
289 Support bootable CDROMs that emulate a floppy/harddrive.
290
291 config PCIBIOS
292 bool "PCIBIOS interface"
293 default y
294 help
295 Support int 1a/b1 PCI BIOS calls.
296 config APMBIOS
297 bool "APM interface"
298 default y
299 help
300 Support int 15/53 APM BIOS calls.
301 config PNPBIOS
302 bool "PnP BIOS interface"
303 default y
304 help
305 Support PnP BIOS entry point.
306 config OPTIONROMS
307 bool "Option ROMS"
308 default y
309 help
310 Support finding and running option roms during POST.
311 config OPTIONROMS_DEPLOYED
David Woodhouse5cf799b2013-02-14 08:56:20 +0000312 depends on OPTIONROMS && QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500313 bool "Option roms are already at 0xc0000-0xf0000"
314 default n
315 help
316 Select this if option ROMs are already copied to
317 0xc0000-0xf0000. This must only be selected when using
318 Bochs or QEMU versions older than 0.12.
319 config PMM
320 depends on OPTIONROMS
321 bool "PMM interface"
322 default y
323 help
324 Support Post Memory Manager (PMM) entry point.
325 config BOOT
326 bool "Boot interface"
327 default y
328 help
329 Support int 19/18 system bootup support.
330 config KEYBOARD
331 bool "Keyboard interface"
332 default y
333 help
334 Support int 16 keyboard calls.
335 config KBD_CALL_INT15_4F
336 depends on KEYBOARD
337 bool "Keyboard hook interface"
338 default y
339 help
340 Support calling int155f on each keyboard event.
341 config MOUSE
342 bool "Mouse interface"
343 default y
344 help
345 Support for int15c2 mouse calls.
346
347 config S3_RESUME
348 bool "S3 resume"
349 default y
350 help
351 Support S3 resume handler.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500352
Kevin O'Connor713be892011-01-26 21:19:25 -0500353 config VGAHOOKS
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500354 bool "Hardware specific VGA helpers"
355 default y
356 help
357 Support int 155f BIOS callbacks specific to some Intel and
358 VIA on-board vga devices.
359
360 config DISABLE_A20
361 bool "Disable A20"
362 default n
363 help
364 Disable A20 on 16bit boot.
365endmenu
366
367menu "BIOS Tables"
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100368 depends on QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500369 config PIRTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500370 bool "PIR table"
371 default y
372 help
373 Support generation of a PIR table in 0xf000 segment.
374 config MPTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500375 bool "MPTable"
376 default y
377 help
378 Support generation of MPTable.
379 config SMBIOS
380 bool "SMBIOS"
381 default y
382 help
383 Support generation of SM BIOS tables. This is also
384 sometimes called DMI.
385 config ACPI
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500386 bool "ACPI"
387 default y
388 help
389 Support generation of ACPI tables.
Michael S. Tsirkin5aef5632013-03-18 15:18:25 +0200390 config ACPI_DSDT
391 bool "Include default ACPI DSDT"
392 default y
393 depends on ACPI
394 help
395 Include default DSDT ACPI table in BIOS.
396 Required for QEMU 1.3 and older.
397 This option can be disabled for QEMU 1.4 and newer
398 to save some space in the ROM file.
399 If unsure, say Y.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500400endmenu
401
Kevin O'Connor23219122013-02-17 10:56:10 -0500402source vgasrc/Kconfig
Julian Pidancetda08a6d2011-12-19 05:07:56 +0000403
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500404menu "Debugging"
405 config DEBUG_LEVEL
406 int "Debug level"
407 default 1
408 help
409 Control how verbose debug output is. The higher the
410 number, the more verbose SeaBIOS will be.
411
412 Set to zero to disable debugging.
413
414 config DEBUG_SERIAL
415 depends on DEBUG_LEVEL != 0
416 bool "Serial port debugging"
417 default n
418 help
419 Send debugging information to serial port.
Kevin O'Connord12e8a22011-05-10 23:36:11 -0400420 config DEBUG_SERIAL_PORT
421 depends on DEBUG_SERIAL
422 hex "Serial port base address"
423 default 0x3f8
424 help
425 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
Julian Pidancet7123d982012-02-01 16:03:24 +0000426
427 config DEBUG_IO
Gerd Hoffmann2ca73ed2013-06-05 09:37:24 +0200428 depends on QEMU_HARDWARE && DEBUG_LEVEL != 0
Julian Pidancet7123d982012-02-01 16:03:24 +0000429 bool "Special IO port debugging"
430 default y
431 help
432 Some emulators or hypervisors provide with a way to output debug
433 information by outputing strings in a special port present in the
434 IO space.
435
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500436endmenu