1 # Kconfig SeaBIOS configuration
3 mainmenu "SeaBIOS Configuration"
5 menu "General Features"
8 bool "Build for coreboot"
11 Configure as a coreboot payload.
14 bool "Build for Xen HVM"
17 Configure to be used by xen hvmloader, for a HVM guest.
20 bool "Parallelize hardware init"
23 Support running hardware initialization in parallel.
24 config THREAD_OPTIONROMS
26 bool "Hardware init during option ROM execution"
29 Allow hardware init to run in parallel with optionrom execution.
31 This can reduce boot time, but can cause some timing
32 variations during option ROM code execution. It is not
33 known if all option ROMs will behave properly with this
37 bool "Copy init code to high memory"
40 Support relocating the one time initialization code to high memory.
47 Support an interactive boot menu at end of post.
53 Amount of time (in ms) to wait at menu before selecting normal boot.
56 bool "Graphical boot splash screen"
59 Support showing a graphical boot splash screen.
65 Support controlling of the boot order via the fw_cfg/CBFS
70 bool "coreboot CBFS support"
73 Support searching coreboot flash format.
75 depends on COREBOOT_FLASH
76 bool "CBFS lzma support"
79 Support CBFS files compressed using the lzma decompression
82 depends on COREBOOT_FLASH
83 bool "Floppy images in CBFS"
86 Support floppy images in coreboot flash.
90 menu "Hardware support"
93 bool "ATA controllers"
96 Support for IDE disk code.
102 Detect and try to use ATA bus mastering DMA controllers.
108 Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
111 bool "AHCI controllers"
114 Support for AHCI disk code.
116 depends on DRIVES && !COREBOOT
117 bool "VirtIO controllers"
120 Support boot from virtio storage.
123 bool "Floppy controller"
126 Support floppy drive access.
129 depends on KEYBOARD || MOUSE
133 Support PS2 ports (keyboard and mouse).
134 config PS2_KEYBOARD_SPINUP
135 depends on PS2PORT && COREBOOT
136 int "Extra time (in ms) to allow a keyboard to initialize"
139 Some PS2 keyboards don't respond to commands immediately
140 after powering on. Specify a positive value here to allow
141 additional time for the keyboard to become responsive.
150 bool "USB UHCI controllers"
153 Support USB UHCI controllers.
156 bool "USB OHCI controllers"
159 Support USB OHCI controllers.
162 bool "USB EHCI controllers"
165 Support USB EHCI controllers.
167 depends on USB && DRIVES
179 depends on USB && KEYBOARD
183 Support USB keyboards.
185 depends on USB && MOUSE
195 Support serial ports. This also enables int 14 serial port calls.
200 Support parallel ports. This also enables int 17 parallel port calls.
202 config EXTRA_PCI_ROOTS
203 bool "Extra root buses"
206 If the target machine has multiple independent root buses,
207 the extra buses may be specified here.
209 depends on EXTRA_PCI_ROOTS
210 hex "Extra primary PCI root bus number"
213 depends on EXTRA_PCI_ROOTS
214 hex "Extra secondary PCI root bus number"
219 bool "System Management Mode (SMM)"
222 Support System Management Mode (on emulators).
225 bool "Initialize MTRRs"
228 Initialize the Memory Type Range Registers (on emulators).
231 menu "BIOS interfaces"
233 bool "Drive interface"
236 Support int13 disk/floppy drive functions.
240 bool "DVD/CDROM booting"
243 Support for booting from a CD. (El Torito spec support.)
245 depends on CDROM_BOOT
246 bool "DVD/CDROM boot drive emulation"
249 Support bootable CDROMs that emulate a floppy/harddrive.
252 bool "PCIBIOS interface"
255 Support int 1a/b1 PCI BIOS calls.
260 Support int 15/53 APM BIOS calls.
262 bool "PnP BIOS interface"
265 Support PnP BIOS entry point.
270 Support finding and running option roms during POST.
271 config OPTIONROMS_DEPLOYED
272 depends on OPTIONROMS
273 bool "Option roms are already at 0xc0000-0xf0000"
276 Select this if option ROMs are already copied to
277 0xc0000-0xf0000. This must only be selected when using
278 Bochs or QEMU versions older than 0.12.
279 config OPTIONROMS_CHECKSUM
280 depends on OPTIONROMS
281 bool "Require correct checksum on option ROMs"
284 Option ROMs are required to have correct checksums.
285 However, some option ROMs in the wild don't correctly
286 follow the specifications and have bad checksums.
287 Say N here to allow SeaBIOS to execute them anyways.
291 depends on OPTIONROMS
295 Support Post Memory Manager (PMM) entry point.
297 bool "Boot interface"
300 Support int 19/18 system bootup support.
302 bool "Keyboard interface"
305 Support int 16 keyboard calls.
306 config KBD_CALL_INT15_4F
308 bool "Keyboard hook interface"
311 Support calling int155f on each keyboard event.
313 bool "Mouse interface"
316 Support for int15c2 mouse calls.
322 Support S3 resume handler.
323 config S3_RESUME_VGA_INIT
325 bool "Run VGA rom on S3 resume"
328 Run the vga rom during S3 resume.
332 bool "Hardware specific VGA helpers"
335 Support int 155f BIOS callbacks specific to some Intel and
336 VIA on-board vga devices.
342 Disable A20 on 16bit boot.
351 Support generation of a PIR table in 0xf000 segment.
357 Support generation of MPTable.
362 Support generation of SM BIOS tables. This is also
363 sometimes called DMI.
369 Support generation of ACPI tables.
377 Control how verbose debug output is. The higher the
378 number, the more verbose SeaBIOS will be.
380 Set to zero to disable debugging.
383 depends on DEBUG_LEVEL != 0
384 bool "Serial port debugging"
387 Send debugging information to serial port.
388 config DEBUG_SERIAL_PORT
389 depends on DEBUG_SERIAL
390 hex "Serial port base address"
393 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
395 config SCREEN_AND_DEBUG
396 depends on DEBUG_LEVEL != 0
397 bool "Show screen writes on debug ports"
400 Send characters that SeaBIOS writes to the screen to the