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