| # Kconfig SeaBIOS configuration |
| |
| mainmenu "SeaBIOS Configuration" |
| |
| menu "General Features" |
| |
| choice |
| prompt "Build Target" |
| default QEMU |
| |
| config COREBOOT |
| bool "Build for coreboot" |
| help |
| Configure as a coreboot payload. |
| |
| config QEMU |
| bool "Build for QEMU/Xen/KVM/Bochs" |
| select QEMU_HARDWARE |
| help |
| Configure for an emulated machine (QEMU, Xen, KVM, or Bochs). |
| |
| config CSM |
| bool "Build as Compatibilty Support Module for EFI BIOS" |
| help |
| Configure to be used by EFI firmware as Compatibility Support |
| module (CSM) to provide legacy BIOS services. |
| |
| endchoice |
| |
| config QEMU_HARDWARE |
| bool "Support hardware found on emulators (QEMU/Xen/KVM/Bochs)" if !QEMU |
| default n |
| help |
| Support virtual hardware when the code detects it is |
| running on an emulator. |
| |
| config XEN |
| depends on QEMU |
| bool "Support Xen HVM" |
| default y |
| 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 && !CSM |
| 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. |
| config ENTRY_EXTRASTACK |
| bool "Use internal stack for 16bit interrupt entry points" |
| default y |
| help |
| Utilize an internal stack for all the legacy 16bit |
| interrupt entry points. This reduces the amount of space |
| on the caller's stack that SeaBIOS uses. This may |
| adversely impact any legacy operating systems that call |
| the BIOS in 16bit protected mode. |
| |
| 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 && QEMU_HARDWARE |
| bool "virtio-blk controllers" |
| default y |
| help |
| Support boot from virtio-blk storage. |
| config VIRTIO_SCSI |
| depends on DRIVES && QEMU_HARDWARE |
| bool "virtio-scsi controllers" |
| default y |
| help |
| Support boot from virtio-scsi storage. |
| config ESP_SCSI |
| depends on DRIVES && QEMU_HARDWARE |
| bool "AMD PCscsi controllers" |
| default y |
| help |
| Support boot from AMD PCscsi storage. |
| config LSI_SCSI |
| depends on DRIVES && QEMU_HARDWARE |
| bool "lsi53c895a scsi controllers" |
| default y |
| help |
| Support boot from qemu-emulated lsi53c895a scsi storage. |
| config MEGASAS |
| depends on DRIVES |
| bool "LSI MegaRAID SAS controllers" |
| default y |
| help |
| Support boot from LSI MegaRAID SAS scsi 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 BOT (bulk-only transport) disks. |
| config USB_UAS |
| depends on USB && DRIVES |
| bool "UAS drives" |
| default y |
| help |
| Support USB UAS (usb attached scsi) 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 QEMU |
| bool "System Management Mode (SMM)" |
| default y |
| help |
| Support System Management Mode (on emulators). |
| config MTRR_INIT |
| depends on QEMU |
| bool "Initialize MTRRs" |
| default y |
| help |
| Initialize the Memory Type Range Registers (on emulators). |
| config PMTIMER |
| bool "Use ACPI timer" |
| default y |
| help |
| Use the ACPI timer instead of the TSC for timekeeping (on qemu). |
| 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 && QEMU |
| 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" |
| depends on QEMU |
| config PIRTABLE |
| bool "PIR table" |
| default y |
| help |
| Support generation of a PIR table in 0xf000 segment. |
| config MPTABLE |
| 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 |
| 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 QEMU && 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. |
| |
| endmenu |