Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 1 | # Kconfig SeaBIOS VGA BIOS configuration |
| 2 | |
| 3 | menu "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 |
Kevin O'Connor | 58b157f | 2013-02-13 19:36:02 -0500 | [diff] [blame] | 14 | depends on QEMU |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 15 | bool "QEMU/Bochs Original IBM 256K VGA" |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 16 | select VGA_STDVGA_PORTS |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 17 | help |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 18 | Build basic VGA BIOS support (pre Super-VGA) for use |
| 19 | on emulators. |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 20 | |
| 21 | config VGA_CIRRUS |
Kevin O'Connor | 58b157f | 2013-02-13 19:36:02 -0500 | [diff] [blame] | 22 | depends on QEMU |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 23 | bool "QEMU/Bochs Cirrus SVGA" |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 24 | select VGA_STDVGA_PORTS |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 25 | help |
Kevin O'Connor | 197ea6c | 2012-02-07 21:03:23 -0500 | [diff] [blame] | 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. |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 29 | |
| 30 | config VGA_BOCHS |
Kevin O'Connor | 58b157f | 2013-02-13 19:36:02 -0500 | [diff] [blame] | 31 | depends on QEMU |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 32 | bool "QEMU/Bochs VBE SVGA" |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 33 | select VGA_STDVGA_PORTS |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 34 | help |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 35 | Build support for Bochs DISPI interface (a custom VBE |
| 36 | protocol) found on QEMU and Bochs emulators. |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 37 | |
| 38 | config VGA_GEODEGX2 |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 39 | bool "GeodeGX2" |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 40 | select VGA_STDVGA_PORTS |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 41 | help |
| 42 | Build support for Geode GX2 vga. |
| 43 | |
| 44 | config VGA_GEODELX |
Kevin O'Connor | 4562bf6 | 2012-04-15 22:02:58 -0400 | [diff] [blame] | 45 | bool "GeodeLX" |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 46 | select VGA_STDVGA_PORTS |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 47 | help |
| 48 | Build support for Geode LX vga. |
Kevin O'Connor | 7c79029 | 2014-02-11 15:34:58 -0500 | [diff] [blame] | 49 | |
| 50 | config VGA_COREBOOT |
| 51 | depends on COREBOOT |
| 52 | bool "coreboot linear framebuffer" |
Kevin O'Connor | 6fed307 | 2014-10-30 12:09:19 -0400 | [diff] [blame] | 53 | select VGA_EMULATE_TEXT |
Kevin O'Connor | 7c79029 | 2014-02-11 15:34:58 -0500 | [diff] [blame] | 54 | help |
| 55 | Build support for a vgabios wrapper around video |
| 56 | devices initialized using coreboot native vga init. |
| 57 | |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 58 | endchoice |
| 59 | |
Christian Gmeiner | 5556f21 | 2012-10-01 14:02:47 +0200 | [diff] [blame] | 60 | choice |
Gerd Hoffmann | 9c6edc4 | 2015-04-08 10:49:25 +0200 | [diff] [blame] | 61 | depends on VGA_BOCHS |
| 62 | prompt "bochs vga variant" |
| 63 | default VGA_BOCHS_STDVGA |
| 64 | |
| 65 | config VGA_BOCHS_STDVGA |
| 66 | bool "qemu stdvga / bochs svga" |
| 67 | |
| 68 | config VGA_BOCHS_VMWARE |
| 69 | bool "qemu vmware svga" |
| 70 | |
| 71 | config VGA_BOCHS_QXL |
| 72 | bool "qemu qxl vga" |
| 73 | |
Gerd Hoffmann | b972a96 | 2015-04-10 10:43:45 +0200 | [diff] [blame] | 74 | config VGA_BOCHS_VIRTIO |
| 75 | bool "qemu virtio vga" |
| 76 | |
Gerd Hoffmann | 9c6edc4 | 2015-04-08 10:49:25 +0200 | [diff] [blame] | 77 | endchoice |
| 78 | |
| 79 | choice |
Christian Gmeiner | 5556f21 | 2012-10-01 14:02:47 +0200 | [diff] [blame] | 80 | depends on VGA_GEODEGX2 || VGA_GEODELX |
| 81 | prompt "Output Mode" |
| 82 | default VGA_OUTPUT_CRT |
| 83 | |
| 84 | config VGA_OUTPUT_CRT |
| 85 | bool "CRT" |
| 86 | help |
| 87 | Use CRT for output. |
| 88 | |
| 89 | config VGA_OUTPUT_PANEL |
| 90 | bool "Flat Panel" |
| 91 | help |
| 92 | Use flat panel for output. |
| 93 | |
| 94 | config VGA_OUTPUT_CRT_PANEL |
| 95 | bool "CRT and Flat Panel" |
| 96 | help |
| 97 | Use CRT and flat panel for output. |
| 98 | endchoice |
| 99 | |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 100 | config BUILD_VGABIOS |
| 101 | bool |
| 102 | default !NO_VGABIOS |
| 103 | |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 104 | config VGA_STDVGA_PORTS |
| 105 | bool |
Kevin O'Connor | 6fed307 | 2014-10-30 12:09:19 -0400 | [diff] [blame] | 106 | config VGA_EMULATE_TEXT |
| 107 | bool |
| 108 | help |
| 109 | Support emulating text mode features when only a |
| 110 | framebuffer is available. |
Kevin O'Connor | efbf4d6 | 2014-02-09 11:50:21 -0500 | [diff] [blame] | 111 | |
Kevin O'Connor | 799b20b | 2015-04-09 17:15:23 -0400 | [diff] [blame] | 112 | config VGA_FIXUP_ASM |
Kevin O'Connor | f24eb2f | 2015-06-10 10:44:32 -0400 | [diff] [blame] | 113 | depends on BUILD_VGABIOS |
Kevin O'Connor | 799b20b | 2015-04-09 17:15:23 -0400 | [diff] [blame] | 114 | bool "Fixup assembler to work with broken emulators" |
| 115 | default y |
| 116 | help |
| 117 | This option will cause the build to attempt to avoid |
| 118 | certain x86 machine instructions that are known to confuse |
| 119 | some emulators. In particular, it works around |
| 120 | deficiencies in the Windows vgabios emulator and the |
| 121 | x86emu vgabios emulator (frequently used in Xorg). |
| 122 | |
Kevin O'Connor | 4a8b58c | 2013-11-30 19:16:15 -0500 | [diff] [blame] | 123 | config VGA_ALLOCATE_EXTRA_STACK |
| 124 | depends on BUILD_VGABIOS |
| 125 | bool "Allocate an internal stack for 16bit interrupt entry point" |
| 126 | default y |
| 127 | help |
| 128 | Attempt to allocate (via BIOS PMM call) an internal stack |
| 129 | for the legacy 16bit 0x10 interrupt entry point. This |
| 130 | reduces the amount of space on the caller's stack that |
| 131 | SeaVGABIOS uses. |
| 132 | |
| 133 | config VGA_EXTRA_STACK_SIZE |
| 134 | int |
| 135 | default 512 |
| 136 | |
Kevin O'Connor | b3df857 | 2012-01-15 02:43:19 -0500 | [diff] [blame] | 137 | config VGA_VBE |
| 138 | depends on BUILD_VGABIOS |
| 139 | bool "Video BIOS Extensions (VBE)" |
| 140 | default y |
| 141 | help |
| 142 | Support VBE. |
| 143 | |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 144 | config VGA_PCI |
Kevin O'Connor | 7c79029 | 2014-02-11 15:34:58 -0500 | [diff] [blame] | 145 | depends on BUILD_VGABIOS && !VGA_COREBOOT |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 146 | bool "PCI ROM Headers" |
| 147 | default y |
| 148 | help |
| 149 | Build PCI ROM headers so the vga rom can be extracted from |
| 150 | a PCI device. |
| 151 | |
| 152 | config OVERRIDE_PCI_ID |
| 153 | depends on VGA_PCI |
| 154 | bool "Override PCI Vendor and Device IDs" |
| 155 | help |
| 156 | Specify specific values for the PCI Vendor and Device IDs. |
| 157 | |
| 158 | config VGA_VID |
| 159 | depends on VGA_PCI |
| 160 | hex |
| 161 | prompt "PCI Vendor ID" if OVERRIDE_PCI_ID |
| 162 | default 0x1013 if VGA_CIRRUS |
Gerd Hoffmann | 9c6edc4 | 2015-04-08 10:49:25 +0200 | [diff] [blame] | 163 | default 0x1234 if VGA_BOCHS_STDVGA |
| 164 | default 0x15ad if VGA_BOCHS_VMWARE |
| 165 | default 0x1b36 if VGA_BOCHS_QXL |
Gerd Hoffmann | b972a96 | 2015-04-10 10:43:45 +0200 | [diff] [blame] | 166 | default 0x1af4 if VGA_BOCHS_VIRTIO |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 167 | default 0x100b if VGA_GEODEGX2 |
| 168 | default 0x1022 if VGA_GEODELX |
| 169 | default 0x0000 |
| 170 | help |
| 171 | Vendor ID for the PCI ROM |
| 172 | |
| 173 | config VGA_DID |
| 174 | depends on VGA_PCI |
| 175 | hex |
| 176 | prompt "PCI Vendor ID" if OVERRIDE_PCI_ID |
| 177 | default 0x00b8 if VGA_CIRRUS |
Gerd Hoffmann | 9c6edc4 | 2015-04-08 10:49:25 +0200 | [diff] [blame] | 178 | default 0x1111 if VGA_BOCHS_STDVGA |
| 179 | default 0x0405 if VGA_BOCHS_VMWARE |
| 180 | default 0x0100 if VGA_BOCHS_QXL |
Gerd Hoffmann | b972a96 | 2015-04-10 10:43:45 +0200 | [diff] [blame] | 181 | default 0x1050 if VGA_BOCHS_VIRTIO |
Kevin O'Connor | 5f4ce9e | 2012-01-15 02:01:24 -0500 | [diff] [blame] | 182 | default 0x0030 if VGA_GEODEGX2 |
| 183 | default 0x2081 if VGA_GEODELX |
| 184 | default 0x0000 |
| 185 | help |
| 186 | Device ID for the PCI ROM |
| 187 | endmenu |