1# Kconfig SeaBIOS VGA BIOS configuration 2 3menu "VGA ROM" 4 choice 5 prompt "VGA Hardware Type" 6 default NO_VGABIOS 7 8 config NO_VGABIOS 9 bool "None" 10 help 11 Do not build a VGA BIOS. 12 13 config VGA_STANDARD_VGA 14 depends on QEMU 15 bool "QEMU/Bochs Original IBM 256K VGA" 16 select VGA_STDVGA_PORTS 17 help 18 Build basic VGA BIOS support (pre Super-VGA) for use 19 on emulators. 20 21 config VGA_CIRRUS 22 depends on QEMU 23 bool "QEMU/Bochs Cirrus SVGA" 24 select VGA_STDVGA_PORTS 25 help 26 Build support for Cirrus VGA emulation found on QEMU 27 and Bochs emulators. This is for emulators; it is not 28 intended for use on real Cirrus hardware. 29 30 config VGA_BOCHS 31 depends on QEMU 32 bool "QEMU/Bochs VBE SVGA" 33 select VGA_STDVGA_PORTS 34 help 35 Build support for Bochs DISPI interface (a custom VBE 36 protocol) found on QEMU and Bochs emulators. 37 38 config VGA_GEODEGX2 39 bool "GeodeGX2" 40 select VGA_STDVGA_PORTS 41 help 42 Build support for Geode GX2 vga. 43 44 config VGA_GEODELX 45 bool "GeodeLX" 46 select VGA_STDVGA_PORTS 47 help 48 Build support for Geode LX vga. 49 50 config VGA_COREBOOT 51 depends on COREBOOT 52 bool "coreboot linear framebuffer" 53 select VGA_EMULATE_TEXT 54 help 55 Build support for a vgabios wrapper around video 56 devices initialized using coreboot native vga init. 57 58 config DISPLAY_BOCHS 59 depends on QEMU 60 bool "qemu bochs-display support" 61 select VGA_EMULATE_TEXT 62 help 63 Build support for the qemu bochs-display device, which 64 is basically qemu stdvga without the legacy vga 65 emulation, supporting only 16+32 bpp VESA video modes 66 in a linear framebuffer. So this uses cbvga text mode 67 emulation. 68 69 The bochs-display device is available in qemu 70 v3.0+. The vgabios works with the qemu stdvga too (use 71 "qemu -device VGA,romfile=/path/to/vgabios.bin")". 72 73 config VGA_RAMFB 74 depends on QEMU 75 bool "qemu ramfb" 76 select VGA_EMULATE_TEXT 77 help 78 qemu ram framebuffer support (-device ramfb). 79 80 endchoice 81 82 choice 83 depends on VGA_BOCHS 84 prompt "bochs vga variant" 85 default VGA_BOCHS_STDVGA 86 87 config VGA_BOCHS_STDVGA 88 bool "qemu stdvga / bochs svga" 89 90 config VGA_BOCHS_VMWARE 91 bool "qemu vmware svga" 92 93 config VGA_BOCHS_QXL 94 bool "qemu qxl vga" 95 96 config VGA_BOCHS_VIRTIO 97 bool "qemu virtio vga" 98 99 endchoice 100 101 choice 102 depends on VGA_GEODEGX2 || VGA_GEODELX 103 prompt "Output Mode" 104 default VGA_OUTPUT_CRT 105 106 config VGA_OUTPUT_CRT 107 bool "CRT" 108 help 109 Use CRT for output. 110 111 config VGA_OUTPUT_PANEL 112 bool "Flat Panel" 113 help 114 Use flat panel for output. 115 116 config VGA_OUTPUT_CRT_PANEL 117 bool "CRT and Flat Panel" 118 help 119 Use CRT and flat panel for output. 120 endchoice 121 122 config BUILD_VGABIOS 123 bool 124 default !NO_VGABIOS 125 126 config VGA_STDVGA_PORTS 127 bool 128 config VGA_EMULATE_TEXT 129 bool 130 help 131 Support emulating text mode features when only a 132 framebuffer is available. 133 134 config VGA_FIXUP_ASM 135 depends on BUILD_VGABIOS 136 bool "Fixup assembler to work with broken emulators" 137 default y 138 help 139 This option will cause the build to attempt to avoid 140 certain x86 machine instructions that are known to confuse 141 some emulators. In particular, it works around 142 deficiencies in the Windows vgabios emulator and the 143 x86emu vgabios emulator (frequently used in Xorg). 144 145 config VGA_ALLOCATE_EXTRA_STACK 146 depends on BUILD_VGABIOS 147 bool "Allocate an internal stack for 16bit interrupt entry point" 148 default y 149 help 150 Attempt to allocate (via BIOS PMM call) an internal stack 151 for the legacy 16bit 0x10 interrupt entry point. This 152 reduces the amount of space on the caller's stack that 153 SeaVGABIOS uses. 154 155 config VGA_EXTRA_STACK_SIZE 156 int 157 default 512 158 159 config VGA_VBE 160 depends on BUILD_VGABIOS 161 bool "Video BIOS Extensions (VBE)" 162 default y 163 help 164 Support VBE. 165 166 config VGA_PCI 167 depends on BUILD_VGABIOS && !VGA_COREBOOT 168 bool "PCI ROM Headers" 169 default y 170 help 171 Build PCI ROM headers so the vga rom can be extracted from 172 a PCI device. 173 174 config OVERRIDE_PCI_ID 175 depends on VGA_PCI 176 bool "Override PCI Vendor and Device IDs" 177 help 178 Specify specific values for the PCI Vendor and Device IDs. 179 180 config VGA_VID 181 depends on VGA_PCI 182 hex 183 prompt "PCI Vendor ID" if OVERRIDE_PCI_ID 184 default 0x1013 if VGA_CIRRUS 185 default 0x1234 if VGA_BOCHS_STDVGA 186 default 0x15ad if VGA_BOCHS_VMWARE 187 default 0x1b36 if VGA_BOCHS_QXL 188 default 0x1af4 if VGA_BOCHS_VIRTIO 189 default 0x100b if VGA_GEODEGX2 190 default 0x1022 if VGA_GEODELX 191 default 0x1234 if DISPLAY_BOCHS 192 default 0x0000 193 help 194 Vendor ID for the PCI ROM 195 196 config VGA_DID 197 depends on VGA_PCI 198 hex 199 prompt "PCI Vendor ID" if OVERRIDE_PCI_ID 200 default 0x00b8 if VGA_CIRRUS 201 default 0x1111 if VGA_BOCHS_STDVGA 202 default 0x0405 if VGA_BOCHS_VMWARE 203 default 0x0100 if VGA_BOCHS_QXL 204 default 0x1050 if VGA_BOCHS_VIRTIO 205 default 0x0030 if VGA_GEODEGX2 206 default 0x2081 if VGA_GEODELX 207 default 0x1111 if DISPLAY_BOCHS 208 default 0x0000 209 help 210 Device ID for the PCI ROM 211endmenu 212