blob: f5098a4bdd2a33300760b7905367fcfbabc3b6a4 [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
30 config VGA_BOCHS
Kevin O'Connor58b157f2013-02-13 19:36:02 -050031 depends on QEMU
Kevin O'Connor4562bf62012-04-15 22:02:58 -040032 bool "QEMU/Bochs VBE SVGA"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050033 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050034 help
Kevin O'Connor4562bf62012-04-15 22:02:58 -040035 Build support for Bochs DISPI interface (a custom VBE
36 protocol) found on QEMU and Bochs emulators.
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050037
38 config VGA_GEODEGX2
Kevin O'Connor4562bf62012-04-15 22:02:58 -040039 bool "GeodeGX2"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050040 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050041 help
42 Build support for Geode GX2 vga.
43
44 config VGA_GEODELX
Kevin O'Connor4562bf62012-04-15 22:02:58 -040045 bool "GeodeLX"
Kevin O'Connorefbf4d62014-02-09 11:50:21 -050046 select VGA_STDVGA_PORTS
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050047 help
48 Build support for Geode LX vga.
Kevin O'Connor7c790292014-02-11 15:34:58 -050049
50 config VGA_COREBOOT
51 depends on COREBOOT
52 bool "coreboot linear framebuffer"
Kevin O'Connor6fed3072014-10-30 12:09:19 -040053 select VGA_EMULATE_TEXT
Kevin O'Connor7c790292014-02-11 15:34:58 -050054 help
55 Build support for a vgabios wrapper around video
56 devices initialized using coreboot native vga init.
57
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050058 endchoice
59
Christian Gmeiner5556f212012-10-01 14:02:47 +020060 choice
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +020061 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 Hoffmannb972a962015-04-10 10:43:45 +020074 config VGA_BOCHS_VIRTIO
75 bool "qemu virtio vga"
76
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +020077 endchoice
78
79 choice
Christian Gmeiner5556f212012-10-01 14:02:47 +020080 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'Connor5f4ce9e2012-01-15 02:01:24 -0500100 config BUILD_VGABIOS
101 bool
102 default !NO_VGABIOS
103
Kevin O'Connorefbf4d62014-02-09 11:50:21 -0500104 config VGA_STDVGA_PORTS
105 bool
Kevin O'Connor6fed3072014-10-30 12:09:19 -0400106 config VGA_EMULATE_TEXT
107 bool
108 help
109 Support emulating text mode features when only a
110 framebuffer is available.
Kevin O'Connorefbf4d62014-02-09 11:50:21 -0500111
Kevin O'Connor799b20b2015-04-09 17:15:23 -0400112 config VGA_FIXUP_ASM
Kevin O'Connorf24eb2f2015-06-10 10:44:32 -0400113 depends on BUILD_VGABIOS
Kevin O'Connor799b20b2015-04-09 17:15:23 -0400114 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'Connor4a8b58c2013-11-30 19:16:15 -0500123 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'Connorb3df8572012-01-15 02:43:19 -0500137 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'Connor5f4ce9e2012-01-15 02:01:24 -0500144 config VGA_PCI
Kevin O'Connor7c790292014-02-11 15:34:58 -0500145 depends on BUILD_VGABIOS && !VGA_COREBOOT
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500146 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 Hoffmann9c6edc42015-04-08 10:49:25 +0200163 default 0x1234 if VGA_BOCHS_STDVGA
164 default 0x15ad if VGA_BOCHS_VMWARE
165 default 0x1b36 if VGA_BOCHS_QXL
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200166 default 0x1af4 if VGA_BOCHS_VIRTIO
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500167 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 Hoffmann9c6edc42015-04-08 10:49:25 +0200178 default 0x1111 if VGA_BOCHS_STDVGA
179 default 0x0405 if VGA_BOCHS_VMWARE
180 default 0x0100 if VGA_BOCHS_QXL
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200181 default 0x1050 if VGA_BOCHS_VIRTIO
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500182 default 0x0030 if VGA_GEODEGX2
183 default 0x2081 if VGA_GEODELX
184 default 0x0000
185 help
186 Device ID for the PCI ROM
187endmenu