vgabios: Merge support for GeodeLX vga bios.
[seabios.git] / src / Kconfig
1 # Kconfig SeaBIOS configuration
2
3 mainmenu "SeaBIOS Configuration"
4
5 menu "General Features"
6
7     config COREBOOT
8         bool "Build for coreboot"
9         default n
10         help
11             Configure as a coreboot payload.
12
13     config XEN
14         depends on !COREBOOT
15         bool "Build for Xen HVM"
16         default n
17         help
18             Configure to be used by xen hvmloader, for a HVM guest.
19
20     config THREADS
21         bool "Parallelize hardware init"
22         default y
23         help
24             Support running hardware initialization in parallel.
25     config THREAD_OPTIONROMS
26         depends on THREADS
27         bool "Hardware init during option ROM execution"
28         default n
29         help
30             Allow hardware init to run in parallel with optionrom execution.
31
32             This can reduce boot time, but can cause some timing
33             variations during option ROM code execution.  It is not
34             known if all option ROMs will behave properly with this
35             option.
36
37     config RELOCATE_INIT
38         bool "Copy init code to high memory"
39         default y
40         help
41             Support relocating the one time initialization code to high memory.
42
43     config BOOTMENU
44         depends on BOOT
45         bool "Bootmenu"
46         default y
47         help
48             Support an interactive boot menu at end of post.
49     config BOOTSPLASH
50         depends on BOOTMENU
51         bool "Graphical boot splash screen"
52         default y
53         help
54             Support showing a graphical boot splash screen.
55     config BOOTORDER
56         depends on BOOT
57         bool "Boot ordering"
58         default y
59         help
60             Support controlling of the boot order via the fw_cfg/CBFS
61             "bootorder" file.
62
63     config COREBOOT_FLASH
64         depends on COREBOOT
65         bool "coreboot CBFS support"
66         default y
67         help
68             Support searching coreboot flash format.
69     config LZMA
70         depends on COREBOOT_FLASH
71         bool "CBFS lzma support"
72         default y
73         help
74             Support CBFS files compressed using the lzma decompression
75             algorighm.
76     config FLASH_FLOPPY
77         depends on COREBOOT_FLASH
78         bool "Floppy images in CBFS"
79         default y
80         help
81             Support floppy images in coreboot flash.
82
83 endmenu
84
85 menu "Hardware support"
86     config ATA
87         depends on DRIVES
88         bool "ATA controllers"
89         default y
90         help
91             Support for IDE disk code.
92     config ATA_DMA
93         depends on ATA
94         bool "ATA DMA"
95         default n
96         help
97             Detect and try to use ATA bus mastering DMA controllers.
98     config ATA_PIO32
99         depends on ATA
100         bool "ATA 32bit PIO"
101         default n
102         help
103             Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
104     config AHCI
105         depends on DRIVES
106         bool "AHCI controllers"
107         default y
108         help
109             Support for AHCI disk code.
110     config VIRTIO_BLK
111         depends on DRIVES && !COREBOOT
112         bool "virtio-blk controllers"
113         default y
114         help
115             Support boot from virtio-blk storage.
116     config FLOPPY
117         depends on DRIVES
118         bool "Floppy controller"
119         default y
120         help
121             Support floppy drive access.
122
123     config PS2PORT
124         depends on KEYBOARD || MOUSE
125         bool "PS/2 port"
126         default y
127         help
128             Support PS2 ports (keyboard and mouse).
129
130     config USB
131         bool "USB"
132         default y
133         help
134             Support USB devices.
135     config USB_UHCI
136         depends on USB
137         bool "USB UHCI controllers"
138         default y
139         help
140             Support USB UHCI controllers.
141     config USB_OHCI
142         depends on USB
143         bool "USB OHCI controllers"
144         default y
145         help
146             Support USB OHCI controllers.
147     config USB_EHCI
148         depends on USB
149         bool "USB EHCI controllers"
150         default y
151         help
152             Support USB EHCI controllers.
153     config USB_MSC
154         depends on USB && DRIVES
155         bool "USB drives"
156         default y
157         help
158             Support USB disks.
159     config USB_HUB
160         depends on USB
161         bool "USB hubs"
162         default y
163         help
164             Support USB hubs.
165     config USB_KEYBOARD
166         depends on USB && KEYBOARD
167         bool "USB keyboards"
168         default y
169         help
170             Support USB keyboards.
171     config USB_MOUSE
172         depends on USB && MOUSE
173         bool "USB mice"
174         default y
175         help
176             Support USB mice.
177
178     config SERIAL
179         bool "Serial port"
180         default y
181         help
182             Support serial ports.  This also enables int 14 serial port calls.
183     config LPT
184         bool "Parallel port"
185         default y
186         help
187             Support parallel ports. This also enables int 17 parallel port calls.
188
189     config USE_SMM
190         depends on !COREBOOT
191         bool "System Management Mode (SMM)"
192         default y
193         help
194             Support System Management Mode (on emulators).
195     config MTRR_INIT
196         depends on !COREBOOT
197         bool "Initialize MTRRs"
198         default y
199         help
200             Initialize the Memory Type Range Registers (on emulators).
201 endmenu
202
203 menu "BIOS interfaces"
204     config DRIVES
205         bool "Drive interface"
206         default y
207         help
208             Support int13 disk/floppy drive functions.
209
210     config CDROM_BOOT
211         depends on DRIVES
212         bool "DVD/CDROM booting"
213         default y
214         help
215             Support for booting from a CD.  (El Torito spec support.)
216     config CDROM_EMU
217         depends on CDROM_BOOT
218         bool "DVD/CDROM boot drive emulation"
219         default y
220         help
221             Support bootable CDROMs that emulate a floppy/harddrive.
222
223     config PCIBIOS
224         bool "PCIBIOS interface"
225         default y
226         help
227             Support int 1a/b1 PCI BIOS calls.
228     config APMBIOS
229         bool "APM interface"
230         default y
231         help
232             Support int 15/53 APM BIOS calls.
233     config PNPBIOS
234         bool "PnP BIOS interface"
235         default y
236         help
237             Support PnP BIOS entry point.
238     config OPTIONROMS
239         bool "Option ROMS"
240         default y
241         help
242             Support finding and running option roms during POST.
243     config OPTIONROMS_DEPLOYED
244         depends on OPTIONROMS
245         bool "Option roms are already at 0xc0000-0xf0000"
246         default n
247         help
248             Select this if option ROMs are already copied to
249             0xc0000-0xf0000.  This must only be selected when using
250             Bochs or QEMU versions older than 0.12.
251     config PMM
252         depends on OPTIONROMS
253         bool "PMM interface"
254         default y
255         help
256             Support Post Memory Manager (PMM) entry point.
257     config BOOT
258         bool "Boot interface"
259         default y
260         help
261             Support int 19/18 system bootup support.
262     config KEYBOARD
263         bool "Keyboard interface"
264         default y
265         help
266             Support int 16 keyboard calls.
267     config KBD_CALL_INT15_4F
268         depends on KEYBOARD
269         bool "Keyboard hook interface"
270         default y
271         help
272             Support calling int155f on each keyboard event.
273     config MOUSE
274         bool "Mouse interface"
275         default y
276         help
277             Support for int15c2 mouse calls.
278
279     config S3_RESUME
280         bool "S3 resume"
281         default y
282         help
283             Support S3 resume handler.
284
285     config VGAHOOKS
286         depends on COREBOOT
287         bool "Hardware specific VGA helpers"
288         default y
289         help
290             Support int 155f BIOS callbacks specific to some Intel and
291             VIA on-board vga devices.
292
293     config DISABLE_A20
294         bool "Disable A20"
295         default n
296         help
297             Disable A20 on 16bit boot.
298 endmenu
299
300 menu "BIOS Tables"
301     config PIRTABLE
302         depends on !COREBOOT
303         bool "PIR table"
304         default y
305         help
306             Support generation of a PIR table in 0xf000 segment.
307     config MPTABLE
308         depends on !COREBOOT
309         bool "MPTable"
310         default y
311         help
312             Support generation of MPTable.
313     config SMBIOS
314         bool "SMBIOS"
315         default y
316         help
317             Support generation of SM BIOS tables.  This is also
318             sometimes called DMI.
319     config ACPI
320         depends on !COREBOOT
321         bool "ACPI"
322         default y
323         help
324             Support generation of ACPI tables.
325 endmenu
326
327 menu "VGA ROM"
328     config VGA_CIRRUS
329         bool "QEMU Cirrus CLGD 54xx VGA BIOS"
330         default n
331         help
332             Build support for Cirrus VGA emulation.
333
334     config VGA_BOCHS
335         bool "Bochs DISPI interface VGA BIOS"
336         default n
337         help
338             Build support for Bochs DISPI interface
339
340     config VGA_GEODELX
341         bool "GeodeLX interface VGA BIOS"
342         default n
343         help
344             Build support for Geode vga
345
346     config VGA_PCI
347         bool "PCI ROM Headers"
348         default y
349         help
350             Build PCI ROM headers so the vga rom can be extracted from
351             a PCI device.
352
353     config VGA_VID
354         depends on VGA_PCI
355         hex "PCI Vendor ID"
356         default 0x1013 if VGA_CIRRUS
357         default 0x1234 if VGA_BOCHS
358         default 0x1022 if VGA_GEODELX
359         default 0x0000
360         help
361             Vendor ID for the PCI ROM
362
363     config VGA_DID
364         depends on VGA_PCI
365         hex "PCI Device ID"
366         default 0x00b8 if VGA_CIRRUS
367         default 0x1111 if VGA_BOCHS
368         default 0x2081 if VGA_GEODELX
369         default 0x0000
370         help
371             Device ID for the PCI ROM
372 endmenu
373
374 menu "Debugging"
375     config DEBUG_LEVEL
376         int "Debug level"
377         default 1
378         help
379             Control how verbose debug output is.  The higher the
380             number, the more verbose SeaBIOS will be.
381
382             Set to zero to disable debugging.
383
384     config DEBUG_SERIAL
385         depends on DEBUG_LEVEL != 0
386         bool "Serial port debugging"
387         default n
388         help
389             Send debugging information to serial port.
390     config DEBUG_SERIAL_PORT
391         depends on DEBUG_SERIAL
392         hex "Serial port base address"
393         default 0x3f8
394         help
395             Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
396 endmenu