blob: 391eecda0dfeb3b428b4a87882d807cc6e402c45 [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
74 endchoice
75
76 choice
Christian Gmeiner5556f212012-10-01 14:02:47 +020077 depends on VGA_GEODEGX2 || VGA_GEODELX
78 prompt "Output Mode"
79 default VGA_OUTPUT_CRT
80
81 config VGA_OUTPUT_CRT
82 bool "CRT"
83 help
84 Use CRT for output.
85
86 config VGA_OUTPUT_PANEL
87 bool "Flat Panel"
88 help
89 Use flat panel for output.
90
91 config VGA_OUTPUT_CRT_PANEL
92 bool "CRT and Flat Panel"
93 help
94 Use CRT and flat panel for output.
95 endchoice
96
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -050097 config BUILD_VGABIOS
98 bool
99 default !NO_VGABIOS
100
Kevin O'Connorefbf4d62014-02-09 11:50:21 -0500101 config VGA_STDVGA_PORTS
102 bool
Kevin O'Connor6fed3072014-10-30 12:09:19 -0400103 config VGA_EMULATE_TEXT
104 bool
105 help
106 Support emulating text mode features when only a
107 framebuffer is available.
Kevin O'Connorefbf4d62014-02-09 11:50:21 -0500108
Kevin O'Connor799b20b2015-04-09 17:15:23 -0400109 config VGA_FIXUP_ASM
110 bool "Fixup assembler to work with broken emulators"
111 default y
112 help
113 This option will cause the build to attempt to avoid
114 certain x86 machine instructions that are known to confuse
115 some emulators. In particular, it works around
116 deficiencies in the Windows vgabios emulator and the
117 x86emu vgabios emulator (frequently used in Xorg).
118
Kevin O'Connor4a8b58c2013-11-30 19:16:15 -0500119 config VGA_ALLOCATE_EXTRA_STACK
120 depends on BUILD_VGABIOS
121 bool "Allocate an internal stack for 16bit interrupt entry point"
122 default y
123 help
124 Attempt to allocate (via BIOS PMM call) an internal stack
125 for the legacy 16bit 0x10 interrupt entry point. This
126 reduces the amount of space on the caller's stack that
127 SeaVGABIOS uses.
128
129 config VGA_EXTRA_STACK_SIZE
130 int
131 default 512
132
Kevin O'Connorb3df8572012-01-15 02:43:19 -0500133 config VGA_VBE
134 depends on BUILD_VGABIOS
135 bool "Video BIOS Extensions (VBE)"
136 default y
137 help
138 Support VBE.
139
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500140 config VGA_PCI
Kevin O'Connor7c790292014-02-11 15:34:58 -0500141 depends on BUILD_VGABIOS && !VGA_COREBOOT
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500142 bool "PCI ROM Headers"
143 default y
144 help
145 Build PCI ROM headers so the vga rom can be extracted from
146 a PCI device.
147
148 config OVERRIDE_PCI_ID
149 depends on VGA_PCI
150 bool "Override PCI Vendor and Device IDs"
151 help
152 Specify specific values for the PCI Vendor and Device IDs.
153
154 config VGA_VID
155 depends on VGA_PCI
156 hex
157 prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
158 default 0x1013 if VGA_CIRRUS
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200159 default 0x1234 if VGA_BOCHS_STDVGA
160 default 0x15ad if VGA_BOCHS_VMWARE
161 default 0x1b36 if VGA_BOCHS_QXL
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500162 default 0x100b if VGA_GEODEGX2
163 default 0x1022 if VGA_GEODELX
164 default 0x0000
165 help
166 Vendor ID for the PCI ROM
167
168 config VGA_DID
169 depends on VGA_PCI
170 hex
171 prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
172 default 0x00b8 if VGA_CIRRUS
Gerd Hoffmann9c6edc42015-04-08 10:49:25 +0200173 default 0x1111 if VGA_BOCHS_STDVGA
174 default 0x0405 if VGA_BOCHS_VMWARE
175 default 0x0100 if VGA_BOCHS_QXL
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500176 default 0x0030 if VGA_GEODEGX2
177 default 0x2081 if VGA_GEODELX
178 default 0x0000
179 help
180 Device ID for the PCI ROM
181endmenu