blob: bbed963683fef7bd56a52b98aad1691f53ff1abf [file] [log] [blame]
# 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 BOOTMENU_WAIT
depends on BOOTMENU
int "Bootmenu delay"
default 2500
help
Amount of time (in ms) to wait at menu before selecting normal boot.
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 n
help
Support for AHCI disk code.
config VIRTIO_BLK
depends on DRIVES && !COREBOOT
bool "VirtIO controllers"
default y
help
Support boot from virtio 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 PS2_KEYBOARD_SPINUP
depends on PS2PORT && COREBOOT
int "Extra time (in ms) to allow a keyboard to initialize"
default 0
help
Some PS2 keyboards don't respond to commands immediately
after powering on. Specify a positive value here to allow
additional time for the keyboard to become responsive.
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 EXTRA_PCI_ROOTS
bool "Extra root buses"
default n
help
If the target machine has multiple independent root buses,
the extra buses may be specified here.
config PCI_ROOT1
depends on EXTRA_PCI_ROOTS
hex "Extra primary PCI root bus number"
default 0x00
config PCI_ROOT2
depends on EXTRA_PCI_ROOTS
hex "Extra secondary PCI root bus number"
default 0x00
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 OPTIONROMS_CHECKSUM
depends on OPTIONROMS
bool "Require correct checksum on option ROMs"
default y
help
Option ROMs are required to have correct checksums.
However, some option ROMs in the wild don't correctly
follow the specifications and have bad checksums.
Say N here to allow SeaBIOS to execute them anyways.
If unsure, say Y.
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 S3_RESUME_VGA_INIT
depends on S3_RESUME
bool "Run VGA rom on S3 resume"
default n
help
Run the vga rom during S3 resume.
config VGAHOOKS
depends on COREBOOT
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
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 SCREEN_AND_DEBUG
depends on DEBUG_LEVEL != 0
bool "Show screen writes on debug ports"
default y
help
Send characters that SeaBIOS writes to the screen to the
debug ports.
endmenu