blob: c8fac36fb92baa27e06076ec68c5777bff0237f4 [file] [log] [blame]
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -05001# 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
Kevin O'Connor58b157f2013-02-13 19:36:02 -050014 depends on QEMU
Kevin O'Connor4562bf62012-04-15 22:02:58 -040015 bool "QEMU/Bochs Original IBM 256K VGA"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050016 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050017 help
Kevin O'Connor4562bf62012-04-15 22:02:58 -040018 Build basic VGA BIOS support (pre Super-VGA) for use
19 on emulators.
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050020
21 config VGA_CIRRUS
Kevin O'Connor58b157f2013-02-13 19:36:02 -050022 depends on QEMU
Kevin O'Connor4562bf62012-04-15 22:02:58 -040023 bool "QEMU/Bochs Cirrus SVGA"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050024 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050025 help
Kevin O'Connor197ea6c2012-02-07 21:03:23 -050026 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'Connor5f4ce9e2012-01-15 02:01:24 -050029
Gerd Hoffmann34b6ecc2019-02-25 10:51:37 +010030 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
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050039 config VGA_BOCHS
Kevin O'Connor58b157f2013-02-13 19:36:02 -050040 depends on QEMU
Kevin O'Connor4562bf62012-04-15 22:02:58 -040041 bool "QEMU/Bochs VBE SVGA"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050042 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050043 help
Kevin O'Connor4562bf62012-04-15 22:02:58 -040044 Build support for Bochs DISPI interface (a custom VBE
45 protocol) found on QEMU and Bochs emulators.
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050046
47 config VGA_GEODEGX2
Kevin O'Connor4562bf62012-04-15 22:02:58 -040048 bool "GeodeGX2"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050049 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050050 help
51 Build support for Geode GX2 vga.
52
53 config VGA_GEODELX
Kevin O'Connor4562bf62012-04-15 22:02:58 -040054 bool "GeodeLX"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050055 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050056 help
57 Build support for Geode LX vga.
Kevin O'Connor7c790292014-02-11 15:34:58 -050058
59 config VGA_COREBOOT
60 depends on COREBOOT
61 bool "coreboot linear framebuffer"
Kevin O'Connor6fed3072014-10-30 12:09:19 -040062 select VGA_EMULATE_TEXT
Kevin O'Connor7c790292014-02-11 15:34:58 -050063 help
64 Build support for a vgabios wrapper around video
65 devices initialized using coreboot native vga init.
66
Gerd Hoffmann77404b42017-11-15 14:43:10 +010067 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
Gerd Hoffmannd9a8b862017-11-15 14:43:10 +010082 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
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050089 endchoice
90
Christian Gmeiner5556f212012-10-01 14:02:47 +020091 choice
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +020092 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
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200105 config VGA_BOCHS_VIRTIO
106 bool "qemu virtio vga"
107
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200108 endchoice
109
110 choice
Christian Gmeiner5556f212012-10-01 14:02:47 +0200111 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
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500131 config BUILD_VGABIOS
132 bool
133 default !NO_VGABIOS
134
Kevin O'Connorefbf4d62014-02-09 11:50:21 -0500135 config VGA_STDVGA_PORTS
136 bool
Kevin O'Connor6fed3072014-10-30 12:09:19 -0400137 config VGA_EMULATE_TEXT
138 bool
139 help
140 Support emulating text mode features when only a
141 framebuffer is available.
Kevin O'Connorefbf4d62014-02-09 11:50:21 -0500142
Kevin O'Connor799b20b2015-04-09 17:15:23 -0400143 config VGA_FIXUP_ASM
Kevin O'Connorf24eb2f2015-06-10 10:44:32 -0400144 depends on BUILD_VGABIOS
Kevin O'Connor799b20b2015-04-09 17:15:23 -0400145 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
Kevin O'Connor4a8b58c2013-11-30 19:16:15 -0500154 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
Kevin O'Connorb3df8572012-01-15 02:43:19 -0500168 config VGA_VBE
169 depends on BUILD_VGABIOS
170 bool "Video BIOS Extensions (VBE)"
171 default y
172 help
173 Support VBE.
174
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500175 config VGA_PCI
Kevin O'Connor7c790292014-02-11 15:34:58 -0500176 depends on BUILD_VGABIOS && !VGA_COREBOOT
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500177 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
Gerd Hoffmann34b6ecc2019-02-25 10:51:37 +0100194 default 0x1002 if VGA_ATI
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200195 default 0x1234 if VGA_BOCHS_STDVGA
196 default 0x15ad if VGA_BOCHS_VMWARE
197 default 0x1b36 if VGA_BOCHS_QXL
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200198 default 0x1af4 if VGA_BOCHS_VIRTIO
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500199 default 0x100b if VGA_GEODEGX2
200 default 0x1022 if VGA_GEODELX
Gerd Hoffmann77404b42017-11-15 14:43:10 +0100201 default 0x1234 if DISPLAY_BOCHS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500202 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
Gerd Hoffmann34b6ecc2019-02-25 10:51:37 +0100211 default 0x5159 if VGA_ATI
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200212 default 0x1111 if VGA_BOCHS_STDVGA
213 default 0x0405 if VGA_BOCHS_VMWARE
214 default 0x0100 if VGA_BOCHS_QXL
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200215 default 0x1050 if VGA_BOCHS_VIRTIO
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500216 default 0x0030 if VGA_GEODEGX2
217 default 0x2081 if VGA_GEODELX
Gerd Hoffmann77404b42017-11-15 14:43:10 +0100218 default 0x1111 if DISPLAY_BOCHS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500219 default 0x0000
220 help
221 Device ID for the PCI ROM
222endmenu