blob: ee6fdb6d2c353796eb52860aed5d36f7a0436448 [file] [log] [blame]
Kevin O'Connor713be892011-01-26 21:19:25 -05001# Kconfig SeaBIOS configuration
2
3mainmenu "SeaBIOS Configuration"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -05004
5menu "General Features"
6
Gerd Hoffmann9600c802012-10-29 11:28:32 +01007choice
8 prompt "Build Target"
9 default QEMU
10
Kevin O'Connor713be892011-01-26 21:19:25 -050011 config COREBOOT
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050012 bool "Build for coreboot"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050013 help
14 Configure as a coreboot payload.
15
Gerd Hoffmann9600c802012-10-29 11:28:32 +010016 config QEMU
17 bool "Build for QEMU"
18 help
19 Configure as QEMU bios.
20
21endchoice
22
Ian Campbell74c78782011-06-01 11:00:29 +010023 config XEN
Gerd Hoffmann9600c802012-10-29 11:28:32 +010024 depends on QEMU
Ian Campbell74c78782011-06-01 11:00:29 +010025 bool "Build for Xen HVM"
Ian Campbell9264a2c2012-06-28 11:08:31 +010026 default y
Ian Campbell74c78782011-06-01 11:00:29 +010027 help
28 Configure to be used by xen hvmloader, for a HVM guest.
29
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050030 config THREADS
31 bool "Parallelize hardware init"
32 default y
33 help
34 Support running hardware initialization in parallel.
35 config THREAD_OPTIONROMS
36 depends on THREADS
37 bool "Hardware init during option ROM execution"
38 default n
39 help
40 Allow hardware init to run in parallel with optionrom execution.
41
Kevin O'Connorf31171c2011-05-07 13:57:42 -040042 This can reduce boot time, but can cause some timing
43 variations during option ROM code execution. It is not
44 known if all option ROMs will behave properly with this
45 option.
46
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050047 config RELOCATE_INIT
48 bool "Copy init code to high memory"
49 default y
50 help
51 Support relocating the one time initialization code to high memory.
52
53 config BOOTMENU
54 depends on BOOT
55 bool "Bootmenu"
56 default y
57 help
58 Support an interactive boot menu at end of post.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050059 config BOOTSPLASH
60 depends on BOOTMENU
61 bool "Graphical boot splash screen"
62 default y
63 help
64 Support showing a graphical boot splash screen.
Kevin O'Connor49bf57b2011-05-10 22:08:30 -040065 config BOOTORDER
66 depends on BOOT
67 bool "Boot ordering"
68 default y
69 help
70 Support controlling of the boot order via the fw_cfg/CBFS
71 "bootorder" file.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050072
73 config COREBOOT_FLASH
74 depends on COREBOOT
75 bool "coreboot CBFS support"
76 default y
77 help
78 Support searching coreboot flash format.
79 config LZMA
80 depends on COREBOOT_FLASH
81 bool "CBFS lzma support"
82 default y
83 help
84 Support CBFS files compressed using the lzma decompression
85 algorighm.
86 config FLASH_FLOPPY
87 depends on COREBOOT_FLASH
88 bool "Floppy images in CBFS"
89 default y
90 help
91 Support floppy images in coreboot flash.
92
93endmenu
94
95menu "Hardware support"
96 config ATA
97 depends on DRIVES
98 bool "ATA controllers"
99 default y
100 help
101 Support for IDE disk code.
102 config ATA_DMA
103 depends on ATA
104 bool "ATA DMA"
105 default n
106 help
107 Detect and try to use ATA bus mastering DMA controllers.
108 config ATA_PIO32
109 depends on ATA
110 bool "ATA 32bit PIO"
111 default n
112 help
113 Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
114 config AHCI
115 depends on DRIVES
116 bool "AHCI controllers"
Gerd Hoffmannceb8ed42011-08-04 20:42:16 +0200117 default y
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500118 help
119 Support for AHCI disk code.
120 config VIRTIO_BLK
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100121 depends on DRIVES && QEMU
Paolo Bonzini0e7fb5f2011-11-16 13:02:55 +0100122 bool "virtio-blk controllers"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500123 default y
124 help
Paolo Bonzini0e7fb5f2011-11-16 13:02:55 +0100125 Support boot from virtio-blk storage.
Paolo Bonzinic5c488f2012-02-27 17:22:23 +0100126 config VIRTIO_SCSI
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100127 depends on DRIVES && QEMU
Paolo Bonzinic5c488f2012-02-27 17:22:23 +0100128 bool "virtio-scsi controllers"
129 default y
130 help
131 Support boot from virtio-scsi storage.
Paolo Bonzini7a39e722012-08-06 13:15:06 +0200132 config ESP_SCSI
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100133 depends on DRIVES && QEMU
Paolo Bonzini7a39e722012-08-06 13:15:06 +0200134 bool "AMD PCscsi controllers"
135 default y
136 help
137 Support boot from AMD PCscsi storage.
Gerd Hoffmann9d6bac12012-07-20 10:59:25 +0200138 config LSI_SCSI
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100139 depends on DRIVES && QEMU
Gerd Hoffmann9d6bac12012-07-20 10:59:25 +0200140 bool "lsi53c895a scsi controllers"
141 default y
142 help
143 Support boot from qemu-emulated lsi53c895a scsi storage.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500144 config FLOPPY
145 depends on DRIVES
146 bool "Floppy controller"
147 default y
148 help
149 Support floppy drive access.
150
151 config PS2PORT
152 depends on KEYBOARD || MOUSE
153 bool "PS/2 port"
154 default y
155 help
156 Support PS2 ports (keyboard and mouse).
157
158 config USB
159 bool "USB"
160 default y
161 help
162 Support USB devices.
163 config USB_UHCI
164 depends on USB
165 bool "USB UHCI controllers"
166 default y
167 help
168 Support USB UHCI controllers.
169 config USB_OHCI
170 depends on USB
171 bool "USB OHCI controllers"
172 default y
173 help
174 Support USB OHCI controllers.
175 config USB_EHCI
176 depends on USB
177 bool "USB EHCI controllers"
178 default y
179 help
180 Support USB EHCI controllers.
181 config USB_MSC
182 depends on USB && DRIVES
183 bool "USB drives"
184 default y
185 help
Gerd Hoffmanne53e30d2012-07-20 10:59:24 +0200186 Support USB BOT (bulk-only transport) disks.
187 config USB_UAS
188 depends on USB && DRIVES
189 bool "UAS drives"
190 default y
191 help
192 Support USB UAS (usb attached scsi) disks.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500193 config USB_HUB
194 depends on USB
195 bool "USB hubs"
196 default y
197 help
198 Support USB hubs.
199 config USB_KEYBOARD
200 depends on USB && KEYBOARD
201 bool "USB keyboards"
202 default y
203 help
204 Support USB keyboards.
205 config USB_MOUSE
206 depends on USB && MOUSE
207 bool "USB mice"
208 default y
209 help
210 Support USB mice.
211
212 config SERIAL
213 bool "Serial port"
214 default y
215 help
216 Support serial ports. This also enables int 14 serial port calls.
217 config LPT
218 bool "Parallel port"
219 default y
220 help
221 Support parallel ports. This also enables int 17 parallel port calls.
222
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500223 config USE_SMM
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100224 depends on QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500225 bool "System Management Mode (SMM)"
226 default y
227 help
228 Support System Management Mode (on emulators).
Kevin O'Connor424f2172011-03-06 19:06:48 -0500229 config MTRR_INIT
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100230 depends on QEMU
Kevin O'Connor424f2172011-03-06 19:06:48 -0500231 bool "Initialize MTRRs"
232 default y
233 help
234 Initialize the Memory Type Range Registers (on emulators).
Gerd Hoffmann455a7c82012-09-06 08:01:00 +0200235 config PMTIMER
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100236 depends on QEMU
Gerd Hoffmann455a7c82012-09-06 08:01:00 +0200237 bool "Use ACPI timer"
238 default y
239 help
240 Use the ACPI timer instead of the TSC for timekeeping (on qemu).
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500241endmenu
242
243menu "BIOS interfaces"
244 config DRIVES
245 bool "Drive interface"
246 default y
247 help
248 Support int13 disk/floppy drive functions.
249
250 config CDROM_BOOT
251 depends on DRIVES
252 bool "DVD/CDROM booting"
253 default y
254 help
255 Support for booting from a CD. (El Torito spec support.)
256 config CDROM_EMU
257 depends on CDROM_BOOT
258 bool "DVD/CDROM boot drive emulation"
259 default y
260 help
261 Support bootable CDROMs that emulate a floppy/harddrive.
262
263 config PCIBIOS
264 bool "PCIBIOS interface"
265 default y
266 help
267 Support int 1a/b1 PCI BIOS calls.
268 config APMBIOS
269 bool "APM interface"
270 default y
271 help
272 Support int 15/53 APM BIOS calls.
273 config PNPBIOS
274 bool "PnP BIOS interface"
275 default y
276 help
277 Support PnP BIOS entry point.
278 config OPTIONROMS
279 bool "Option ROMS"
280 default y
281 help
282 Support finding and running option roms during POST.
283 config OPTIONROMS_DEPLOYED
284 depends on OPTIONROMS
285 bool "Option roms are already at 0xc0000-0xf0000"
286 default n
287 help
288 Select this if option ROMs are already copied to
289 0xc0000-0xf0000. This must only be selected when using
290 Bochs or QEMU versions older than 0.12.
291 config PMM
292 depends on OPTIONROMS
293 bool "PMM interface"
294 default y
295 help
296 Support Post Memory Manager (PMM) entry point.
297 config BOOT
298 bool "Boot interface"
299 default y
300 help
301 Support int 19/18 system bootup support.
302 config KEYBOARD
303 bool "Keyboard interface"
304 default y
305 help
306 Support int 16 keyboard calls.
307 config KBD_CALL_INT15_4F
308 depends on KEYBOARD
309 bool "Keyboard hook interface"
310 default y
311 help
312 Support calling int155f on each keyboard event.
313 config MOUSE
314 bool "Mouse interface"
315 default y
316 help
317 Support for int15c2 mouse calls.
318
319 config S3_RESUME
320 bool "S3 resume"
321 default y
322 help
323 Support S3 resume handler.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500324
Kevin O'Connor713be892011-01-26 21:19:25 -0500325 config VGAHOOKS
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500326 bool "Hardware specific VGA helpers"
327 default y
328 help
329 Support int 155f BIOS callbacks specific to some Intel and
330 VIA on-board vga devices.
331
332 config DISABLE_A20
333 bool "Disable A20"
334 default n
335 help
336 Disable A20 on 16bit boot.
337endmenu
338
339menu "BIOS Tables"
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100340 depends on QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500341 config PIRTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500342 bool "PIR table"
343 default y
344 help
345 Support generation of a PIR table in 0xf000 segment.
346 config MPTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500347 bool "MPTable"
348 default y
349 help
350 Support generation of MPTable.
351 config SMBIOS
352 bool "SMBIOS"
353 default y
354 help
355 Support generation of SM BIOS tables. This is also
356 sometimes called DMI.
357 config ACPI
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500358 bool "ACPI"
359 default y
360 help
361 Support generation of ACPI tables.
362endmenu
363
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500364source ../vgasrc/Kconfig
Julian Pidancetda08a6d2011-12-19 05:07:56 +0000365
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500366menu "Debugging"
367 config DEBUG_LEVEL
368 int "Debug level"
369 default 1
370 help
371 Control how verbose debug output is. The higher the
372 number, the more verbose SeaBIOS will be.
373
374 Set to zero to disable debugging.
375
376 config DEBUG_SERIAL
377 depends on DEBUG_LEVEL != 0
378 bool "Serial port debugging"
379 default n
380 help
381 Send debugging information to serial port.
Kevin O'Connord12e8a22011-05-10 23:36:11 -0400382 config DEBUG_SERIAL_PORT
383 depends on DEBUG_SERIAL
384 hex "Serial port base address"
385 default 0x3f8
386 help
387 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
Julian Pidancet7123d982012-02-01 16:03:24 +0000388
389 config DEBUG_IO
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100390 depends on QEMU && DEBUG_LEVEL != 0
Julian Pidancet7123d982012-02-01 16:03:24 +0000391 bool "Special IO port debugging"
392 default y
393 help
394 Some emulators or hypervisors provide with a way to output debug
395 information by outputing strings in a special port present in the
396 IO space.
397
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500398endmenu