vgabios: Merge support for GeodeLX vga bios.
[seabios.git] / src / Kconfig
index f753c63079f63f13e70d4275f4499b911e11bcfe..bd4550e41be4abffad9406faa27517067af72a58 100644 (file)
 # Kconfig SeaBIOS configuration
 
 mainmenu "SeaBIOS Configuration"
+
+menu "General Features"
+
     config COREBOOT
-      bool "Configure as a coreboot payload."
-      default n
+        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
+        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 "VGA ROM"
+    config VGA_CIRRUS
+        bool "QEMU Cirrus CLGD 54xx VGA BIOS"
+        default n
+        help
+            Build support for Cirrus VGA emulation.
+
+    config VGA_BOCHS
+        bool "Bochs DISPI interface VGA BIOS"
+        default n
+        help
+            Build support for Bochs DISPI interface
+
+    config VGA_GEODELX
+        bool "GeodeLX interface VGA BIOS"
+        default n
+        help
+            Build support for Geode vga
+
+    config VGA_PCI
+        bool "PCI ROM Headers"
+        default y
+        help
+            Build PCI ROM headers so the vga rom can be extracted from
+            a PCI device.
+
+    config VGA_VID
+        depends on VGA_PCI
+        hex "PCI Vendor ID"
+        default 0x1013 if VGA_CIRRUS
+        default 0x1234 if VGA_BOCHS
+        default 0x1022 if VGA_GEODELX
+        default 0x0000
+        help
+            Vendor ID for the PCI ROM
+
+    config VGA_DID
+        depends on VGA_PCI
+        hex "PCI Device ID"
+        default 0x00b8 if VGA_CIRRUS
+        default 0x1111 if VGA_BOCHS
+        default 0x2081 if VGA_GEODELX
+        default 0x0000
+        help
+            Device ID for the PCI ROM
+endmenu
+
+menu "Debugging"
     config DEBUG_LEVEL
-      int "Control how verbose debug output is."
-      default 1
+        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
-      bool "Send debugging information to serial port"
-      default n
-    config VGAHOOKS
-      bool "Support bios callbacks specific to via vgabios."
-      default n
+        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.
+endmenu