blob: 2837f3e067b67e6e05c831d3de85ee60e2493e7f [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
113 bool "Fixup assembler to work with broken emulators"
114 default y
115 help
116 This option will cause the build to attempt to avoid
117 certain x86 machine instructions that are known to confuse
118 some emulators. In particular, it works around
119 deficiencies in the Windows vgabios emulator and the
120 x86emu vgabios emulator (frequently used in Xorg).
121
Kevin O'Connor4a8b58c2013-11-30 19:16:15 -0500122 config VGA_ALLOCATE_EXTRA_STACK
123 depends on BUILD_VGABIOS
124 bool "Allocate an internal stack for 16bit interrupt entry point"
125 default y
126 help
127 Attempt to allocate (via BIOS PMM call) an internal stack
128 for the legacy 16bit 0x10 interrupt entry point. This
129 reduces the amount of space on the caller's stack that
130 SeaVGABIOS uses.
131
132 config VGA_EXTRA_STACK_SIZE
133 int
134 default 512
135
Kevin O'Connorb3df8572012-01-15 02:43:19 -0500136 config VGA_VBE
137 depends on BUILD_VGABIOS
138 bool "Video BIOS Extensions (VBE)"
139 default y
140 help
141 Support VBE.
142
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500143 config VGA_PCI
Kevin O'Connor7c790292014-02-11 15:34:58 -0500144 depends on BUILD_VGABIOS && !VGA_COREBOOT
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500145 bool "PCI ROM Headers"
146 default y
147 help
148 Build PCI ROM headers so the vga rom can be extracted from
149 a PCI device.
150
151 config OVERRIDE_PCI_ID
152 depends on VGA_PCI
153 bool "Override PCI Vendor and Device IDs"
154 help
155 Specify specific values for the PCI Vendor and Device IDs.
156
157 config VGA_VID
158 depends on VGA_PCI
159 hex
160 prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
161 default 0x1013 if VGA_CIRRUS
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200162 default 0x1234 if VGA_BOCHS_STDVGA
163 default 0x15ad if VGA_BOCHS_VMWARE
164 default 0x1b36 if VGA_BOCHS_QXL
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200165 default 0x1af4 if VGA_BOCHS_VIRTIO
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500166 default 0x100b if VGA_GEODEGX2
167 default 0x1022 if VGA_GEODELX
168 default 0x0000
169 help
170 Vendor ID for the PCI ROM
171
172 config VGA_DID
173 depends on VGA_PCI
174 hex
175 prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
176 default 0x00b8 if VGA_CIRRUS
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200177 default 0x1111 if VGA_BOCHS_STDVGA
178 default 0x0405 if VGA_BOCHS_VMWARE
179 default 0x0100 if VGA_BOCHS_QXL
Gerd Hoffmannb972a962015-04-10 10:43:45 +0200180 default 0x1050 if VGA_BOCHS_VIRTIO
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500181 default 0x0030 if VGA_GEODEGX2
182 default 0x2081 if VGA_GEODELX
183 default 0x0000
184 help
185 Device ID for the PCI ROM
186endmenu