# Kconfig SeaBIOS configuration mainmenu "SeaBIOS Configuration" menu "General Features" config COREBOOT bool "Build for coreboot" default n help Configure as a coreboot payload. config XEN depends on !COREBOOT bool "Build for Xen HVM" default n help Configure to be used by xen hvmloader, for a HVM guest. config THREADS bool "Parallelize hardware init" default y help Support running hardware initialization in parallel. config THREAD_OPTIONROMS depends on THREADS bool "Hardware init during option ROM execution" default n help Allow hardware init to run in parallel with optionrom execution. This can reduce boot time, but can cause some timing variations during option ROM code execution. It is not known if all option ROMs will behave properly with this option. config RELOCATE_INIT bool "Copy init code to high memory" default y help Support relocating the one time initialization code to high memory. config BOOTMENU depends on BOOT bool "Bootmenu" default y help Support an interactive boot menu at end of post. config BOOTSPLASH depends on BOOTMENU bool "Graphical boot splash screen" default y help Support showing a graphical boot splash screen. config BOOTORDER depends on BOOT bool "Boot ordering" default y help Support controlling of the boot order via the fw_cfg/CBFS "bootorder" file. config COREBOOT_FLASH depends on COREBOOT bool "coreboot CBFS support" default y help Support searching coreboot flash format. config LZMA depends on COREBOOT_FLASH bool "CBFS lzma support" default y help Support CBFS files compressed using the lzma decompression algorighm. config FLASH_FLOPPY depends on COREBOOT_FLASH bool "Floppy images in CBFS" default y help Support floppy images in coreboot flash. endmenu menu "Hardware support" config ATA depends on DRIVES bool "ATA controllers" default y help Support for IDE disk code. config ATA_DMA depends on ATA bool "ATA DMA" default n help Detect and try to use ATA bus mastering DMA controllers. config ATA_PIO32 depends on ATA bool "ATA 32bit PIO" default n help Use 32bit PIO accesses on ATA (minor optimization on PCI transfers). config AHCI depends on DRIVES bool "AHCI controllers" default y help Support for AHCI disk code. config VIRTIO_BLK depends on DRIVES && !COREBOOT bool "virtio-blk controllers" default y help Support boot from virtio-blk storage. config FLOPPY depends on DRIVES bool "Floppy controller" default y help Support floppy drive access. config PS2PORT depends on KEYBOARD || MOUSE bool "PS/2 port" default y help Support PS2 ports (keyboard and mouse). config USB bool "USB" default y help Support USB devices. config USB_UHCI depends on USB bool "USB UHCI controllers" default y help Support USB UHCI controllers. config USB_OHCI depends on USB bool "USB OHCI controllers" default y help Support USB OHCI controllers. config USB_EHCI depends on USB bool "USB EHCI controllers" default y help Support USB EHCI controllers. config USB_MSC depends on USB && DRIVES bool "USB drives" default y help Support USB disks. config USB_HUB depends on USB bool "USB hubs" default y help Support USB hubs. config USB_KEYBOARD depends on USB && KEYBOARD bool "USB keyboards" default y help Support USB keyboards. config USB_MOUSE depends on USB && MOUSE bool "USB mice" default y help Support USB mice. config SERIAL bool "Serial port" default y help Support serial ports. This also enables int 14 serial port calls. config LPT bool "Parallel port" default y help Support parallel ports. This also enables int 17 parallel port calls. config USE_SMM depends on !COREBOOT bool "System Management Mode (SMM)" default y help Support System Management Mode (on emulators). config MTRR_INIT depends on !COREBOOT bool "Initialize MTRRs" default y help Initialize the Memory Type Range Registers (on emulators). endmenu menu "BIOS interfaces" config DRIVES bool "Drive interface" default y help Support int13 disk/floppy drive functions. config CDROM_BOOT depends on DRIVES bool "DVD/CDROM booting" default y help Support for booting from a CD. (El Torito spec support.) config CDROM_EMU depends on CDROM_BOOT bool "DVD/CDROM boot drive emulation" default y help Support bootable CDROMs that emulate a floppy/harddrive. config PCIBIOS bool "PCIBIOS interface" default y help Support int 1a/b1 PCI BIOS calls. config APMBIOS bool "APM interface" default y help Support int 15/53 APM BIOS calls. config PNPBIOS bool "PnP BIOS interface" default y help Support PnP BIOS entry point. config OPTIONROMS bool "Option ROMS" default y help Support finding and running option roms during POST. config OPTIONROMS_DEPLOYED depends on OPTIONROMS bool "Option roms are already at 0xc0000-0xf0000" default n help Select this if option ROMs are already copied to 0xc0000-0xf0000. This must only be selected when using Bochs or QEMU versions older than 0.12. config PMM depends on OPTIONROMS bool "PMM interface" default y help Support Post Memory Manager (PMM) entry point. config BOOT bool "Boot interface" default y help Support int 19/18 system bootup support. config KEYBOARD bool "Keyboard interface" default y help Support int 16 keyboard calls. config KBD_CALL_INT15_4F depends on KEYBOARD bool "Keyboard hook interface" default y help Support calling int155f on each keyboard event. config MOUSE bool "Mouse interface" default y help Support for int15c2 mouse calls. config S3_RESUME bool "S3 resume" default y help Support S3 resume handler. config VGAHOOKS bool "Hardware specific VGA helpers" default y help Support int 155f BIOS callbacks specific to some Intel and VIA on-board vga devices. config DISABLE_A20 bool "Disable A20" default n help Disable A20 on 16bit boot. endmenu menu "BIOS Tables" config PIRTABLE depends on !COREBOOT bool "PIR table" default y help Support generation of a PIR table in 0xf000 segment. config MPTABLE depends on !COREBOOT bool "MPTable" default y help Support generation of MPTable. config SMBIOS bool "SMBIOS" default y help Support generation of SM BIOS tables. This is also sometimes called DMI. config ACPI depends on !COREBOOT bool "ACPI" default y help Support generation of ACPI tables. endmenu source ../vgasrc/Kconfig menu "Debugging" config DEBUG_LEVEL int "Debug level" default 1 help Control how verbose debug output is. The higher the number, the more verbose SeaBIOS will be. Set to zero to disable debugging. config DEBUG_SERIAL depends on DEBUG_LEVEL != 0 bool "Serial port debugging" default n help Send debugging information to serial port. config DEBUG_SERIAL_PORT depends on DEBUG_SERIAL hex "Serial port base address" default 0x3f8 help Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8. config DEBUG_IO depends on !COREBOOT && DEBUG_LEVEL != 0 bool "Special IO port debugging" default y help Some emulators or hypervisors provide with a way to output debug information by outputing strings in a special port present in the IO space. config DEBUG_IO_PORT depends on DEBUG_IO hex "Debug IO port address" default 0x0402 help Bochs uses the 0x0402 address by default, whereas Xen makes the 0xe9 IO address available for guests use. endmenu