| # Kconfig SeaBIOS VGA BIOS configuration |
| |
| menu "VGA ROM" |
| choice |
| prompt "VGA Hardware Type" |
| default NO_VGABIOS |
| |
| config NO_VGABIOS |
| bool "None" |
| help |
| Do not build a VGA BIOS. |
| |
| config VGA_STANDARD_VGA |
| depends on QEMU |
| bool "QEMU/Bochs Original IBM 256K VGA" |
| select VGA_STDVGA_PORTS |
| help |
| Build basic VGA BIOS support (pre Super-VGA) for use |
| on emulators. |
| |
| config VGA_CIRRUS |
| depends on QEMU |
| bool "QEMU/Bochs Cirrus SVGA" |
| select VGA_STDVGA_PORTS |
| help |
| Build support for Cirrus VGA emulation found on QEMU |
| and Bochs emulators. This is for emulators; it is not |
| intended for use on real Cirrus hardware. |
| |
| config VGA_ATI |
| depends on QEMU |
| bool "QEMU ATI SVGA" |
| select VGA_STDVGA_PORTS |
| help |
| Build support for ATI VGA emulation found on QEMU |
| and emulators. This is for emulators; it is not |
| intended for use on real ATI hardware. |
| |
| config VGA_BOCHS |
| depends on QEMU |
| bool "QEMU/Bochs VBE SVGA" |
| select VGA_STDVGA_PORTS |
| help |
| Build support for Bochs DISPI interface (a custom VBE |
| protocol) found on QEMU and Bochs emulators. |
| |
| config VGA_GEODEGX2 |
| bool "GeodeGX2" |
| select VGA_STDVGA_PORTS |
| help |
| Build support for Geode GX2 vga. |
| |
| config VGA_GEODELX |
| bool "GeodeLX" |
| select VGA_STDVGA_PORTS |
| help |
| Build support for Geode LX vga. |
| |
| config VGA_COREBOOT |
| depends on COREBOOT |
| bool "coreboot linear framebuffer" |
| select VGA_EMULATE_TEXT |
| help |
| Build support for a vgabios wrapper around video |
| devices initialized using coreboot native vga init. |
| |
| config DISPLAY_BOCHS |
| depends on QEMU |
| bool "qemu bochs-display support" |
| select VGA_EMULATE_TEXT |
| help |
| Build support for the qemu bochs-display device, which |
| is basically qemu stdvga without the legacy vga |
| emulation, supporting only 16+32 bpp VESA video modes |
| in a linear framebuffer. So this uses cbvga text mode |
| emulation. |
| |
| The bochs-display device is available in qemu |
| v3.0+. The vgabios works with the qemu stdvga too (use |
| "qemu -device VGA,romfile=/path/to/vgabios.bin")". |
| |
| config VGA_RAMFB |
| depends on QEMU |
| bool "qemu ramfb" |
| select VGA_EMULATE_TEXT |
| help |
| qemu ram framebuffer support (-device ramfb). |
| |
| endchoice |
| |
| choice |
| depends on VGA_BOCHS |
| prompt "bochs vga variant" |
| default VGA_BOCHS_STDVGA |
| |
| config VGA_BOCHS_STDVGA |
| bool "qemu stdvga / bochs svga" |
| |
| config VGA_BOCHS_VMWARE |
| bool "qemu vmware svga" |
| |
| config VGA_BOCHS_QXL |
| bool "qemu qxl vga" |
| |
| config VGA_BOCHS_VIRTIO |
| bool "qemu virtio vga" |
| |
| endchoice |
| |
| choice |
| depends on VGA_GEODEGX2 || VGA_GEODELX |
| prompt "Output Mode" |
| default VGA_OUTPUT_CRT |
| |
| config VGA_OUTPUT_CRT |
| bool "CRT" |
| help |
| Use CRT for output. |
| |
| config VGA_OUTPUT_PANEL |
| bool "Flat Panel" |
| help |
| Use flat panel for output. |
| |
| config VGA_OUTPUT_CRT_PANEL |
| bool "CRT and Flat Panel" |
| help |
| Use CRT and flat panel for output. |
| endchoice |
| |
| config BUILD_VGABIOS |
| bool |
| default !NO_VGABIOS |
| |
| config VGA_STDVGA_PORTS |
| bool |
| config VGA_EMULATE_TEXT |
| bool |
| help |
| Support emulating text mode features when only a |
| framebuffer is available. |
| |
| config VGA_FIXUP_ASM |
| depends on BUILD_VGABIOS |
| bool "Fixup assembler to work with broken emulators" |
| default y |
| help |
| This option will cause the build to attempt to avoid |
| certain x86 machine instructions that are known to confuse |
| some emulators. In particular, it works around |
| deficiencies in the Windows vgabios emulator and the |
| x86emu vgabios emulator (frequently used in Xorg). |
| |
| config VGA_ALLOCATE_EXTRA_STACK |
| depends on BUILD_VGABIOS |
| bool "Allocate an internal stack for 16bit interrupt entry point" |
| default y |
| help |
| Attempt to allocate (via BIOS PMM call) an internal stack |
| for the legacy 16bit 0x10 interrupt entry point. This |
| reduces the amount of space on the caller's stack that |
| SeaVGABIOS uses. |
| |
| config VGA_EXTRA_STACK_SIZE |
| int |
| default 512 |
| |
| config VGA_VBE |
| depends on BUILD_VGABIOS |
| bool "Video BIOS Extensions (VBE)" |
| default y |
| help |
| Support VBE. |
| |
| config VGA_PCI |
| depends on BUILD_VGABIOS && !VGA_COREBOOT |
| bool "PCI ROM Headers" |
| default y |
| help |
| Build PCI ROM headers so the vga rom can be extracted from |
| a PCI device. |
| |
| config OVERRIDE_PCI_ID |
| depends on VGA_PCI |
| bool "Override PCI Vendor and Device IDs" |
| help |
| Specify specific values for the PCI Vendor and Device IDs. |
| |
| config VGA_VID |
| depends on VGA_PCI |
| hex |
| prompt "PCI Vendor ID" if OVERRIDE_PCI_ID |
| default 0x1013 if VGA_CIRRUS |
| default 0x1002 if VGA_ATI |
| default 0x1234 if VGA_BOCHS_STDVGA |
| default 0x15ad if VGA_BOCHS_VMWARE |
| default 0x1b36 if VGA_BOCHS_QXL |
| default 0x1af4 if VGA_BOCHS_VIRTIO |
| default 0x100b if VGA_GEODEGX2 |
| default 0x1022 if VGA_GEODELX |
| default 0x1234 if DISPLAY_BOCHS |
| default 0x0000 |
| help |
| Vendor ID for the PCI ROM |
| |
| config VGA_DID |
| depends on VGA_PCI |
| hex |
| prompt "PCI Vendor ID" if OVERRIDE_PCI_ID |
| default 0x00b8 if VGA_CIRRUS |
| default 0x5159 if VGA_ATI |
| default 0x1111 if VGA_BOCHS_STDVGA |
| default 0x0405 if VGA_BOCHS_VMWARE |
| default 0x0100 if VGA_BOCHS_QXL |
| default 0x1050 if VGA_BOCHS_VIRTIO |
| default 0x0030 if VGA_GEODEGX2 |
| default 0x2081 if VGA_GEODELX |
| default 0x1111 if DISPLAY_BOCHS |
| default 0x0000 |
| help |
| Device ID for the PCI ROM |
| endmenu |