1 # Kconfig SeaBIOS configuration
3 mainmenu "SeaBIOS Configuration"
5 menu "General Features"
8 bool "Build for coreboot"
11 Configure as a coreboot payload.
15 bool "Build for Xen HVM"
18 Configure to be used by xen hvmloader, for a HVM guest.
21 bool "Parallelize hardware init"
24 Support running hardware initialization in parallel.
25 config THREAD_OPTIONROMS
27 bool "Hardware init during option ROM execution"
30 Allow hardware init to run in parallel with optionrom execution.
32 This can reduce boot time, but can cause some timing
33 variations during option ROM code execution. It is not
34 known if all option ROMs will behave properly with this
38 bool "Copy init code to high memory"
41 Support relocating the one time initialization code to high memory.
48 Support an interactive boot menu at end of post.
51 bool "Graphical boot splash screen"
54 Support showing a graphical boot splash screen.
60 Support controlling of the boot order via the fw_cfg/CBFS
65 bool "coreboot CBFS support"
68 Support searching coreboot flash format.
70 depends on COREBOOT_FLASH
71 bool "CBFS lzma support"
74 Support CBFS files compressed using the lzma decompression
77 depends on COREBOOT_FLASH
78 bool "Floppy images in CBFS"
81 Support floppy images in coreboot flash.
85 menu "Hardware support"
88 bool "ATA controllers"
91 Support for IDE disk code.
97 Detect and try to use ATA bus mastering DMA controllers.
103 Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
106 bool "AHCI controllers"
109 Support for AHCI disk code.
111 depends on DRIVES && !COREBOOT
112 bool "VirtIO controllers"
115 Support boot from virtio storage.
118 bool "Floppy controller"
121 Support floppy drive access.
124 depends on KEYBOARD || MOUSE
128 Support PS2 ports (keyboard and mouse).
129 config PS2_KEYBOARD_SPINUP
130 depends on PS2PORT && COREBOOT
131 int "Extra time (in ms) to allow a keyboard to initialize"
134 Some PS2 keyboards don't respond to commands immediately
135 after powering on. Specify a positive value here to allow
136 additional time for the keyboard to become responsive.
145 bool "USB UHCI controllers"
148 Support USB UHCI controllers.
151 bool "USB OHCI controllers"
154 Support USB OHCI controllers.
157 bool "USB EHCI controllers"
160 Support USB EHCI controllers.
162 depends on USB && DRIVES
174 depends on USB && KEYBOARD
178 Support USB keyboards.
180 depends on USB && MOUSE
190 Support serial ports. This also enables int 14 serial port calls.
195 Support parallel ports. This also enables int 17 parallel port calls.
199 bool "System Management Mode (SMM)"
202 Support System Management Mode (on emulators).
205 bool "Initialize MTRRs"
208 Initialize the Memory Type Range Registers (on emulators).
211 menu "BIOS interfaces"
213 bool "Drive interface"
216 Support int13 disk/floppy drive functions.
220 bool "DVD/CDROM booting"
223 Support for booting from a CD. (El Torito spec support.)
225 depends on CDROM_BOOT
226 bool "DVD/CDROM boot drive emulation"
229 Support bootable CDROMs that emulate a floppy/harddrive.
232 bool "PCIBIOS interface"
235 Support int 1a/b1 PCI BIOS calls.
240 Support int 15/53 APM BIOS calls.
242 bool "PnP BIOS interface"
245 Support PnP BIOS entry point.
250 Support finding and running option roms during POST.
251 config OPTIONROMS_DEPLOYED
252 depends on OPTIONROMS
253 bool "Option roms are already at 0xc0000-0xf0000"
256 Select this if option ROMs are already copied to
257 0xc0000-0xf0000. This must only be selected when using
258 Bochs or QEMU versions older than 0.12.
259 config OPTIONROMS_CHECKSUM
260 depends on OPTIONROMS
261 bool "Require correct checksum on option ROMs"
264 Option ROMs are required to have correct checksums.
265 However, some option ROMs in the wild don't correctly
266 follow the specifications and have bad checksums.
267 Say N here to allow SeaBIOS to execute them anyways.
271 depends on OPTIONROMS
275 Support Post Memory Manager (PMM) entry point.
277 bool "Boot interface"
280 Support int 19/18 system bootup support.
282 bool "Keyboard interface"
285 Support int 16 keyboard calls.
286 config KBD_CALL_INT15_4F
288 bool "Keyboard hook interface"
291 Support calling int155f on each keyboard event.
293 bool "Mouse interface"
296 Support for int15c2 mouse calls.
302 Support S3 resume handler.
303 config S3_RESUME_VGA_INIT
305 bool "Run VGA rom on S3 resume"
308 Run the vga rom during S3 resume.
312 bool "Hardware specific VGA helpers"
315 Support int 155f BIOS callbacks specific to some Intel and
316 VIA on-board vga devices.
322 Disable A20 on 16bit boot.
331 Support generation of a PIR table in 0xf000 segment.
337 Support generation of MPTable.
342 Support generation of SM BIOS tables. This is also
343 sometimes called DMI.
349 Support generation of ACPI tables.
357 Control how verbose debug output is. The higher the
358 number, the more verbose SeaBIOS will be.
360 Set to zero to disable debugging.
363 depends on DEBUG_LEVEL != 0
364 bool "Serial port debugging"
367 Send debugging information to serial port.
368 config DEBUG_SERIAL_PORT
369 depends on DEBUG_SERIAL
370 hex "Serial port base address"
373 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
375 config SCREEN_AND_DEBUG
376 depends on DEBUG_LEVEL != 0
377 bool "Show screen writes on debug ports"
380 Send characters that SeaBIOS writes to the screen to the