blob: 0b112edd84cb2c5c9c2ba5dddcea60ce5b561af7 [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.
Hannes Reinecke2df70bf2012-11-13 15:03:31 +0100144 config MEGASAS
145 depends on DRIVES
146 bool "LSI MegaRAID SAS controllers"
147 default y
148 help
149 Support boot from LSI MegaRAID SAS scsi storage.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500150 config FLOPPY
151 depends on DRIVES
152 bool "Floppy controller"
153 default y
154 help
155 Support floppy drive access.
156
157 config PS2PORT
158 depends on KEYBOARD || MOUSE
159 bool "PS/2 port"
160 default y
161 help
162 Support PS2 ports (keyboard and mouse).
163
164 config USB
165 bool "USB"
166 default y
167 help
168 Support USB devices.
169 config USB_UHCI
170 depends on USB
171 bool "USB UHCI controllers"
172 default y
173 help
174 Support USB UHCI controllers.
175 config USB_OHCI
176 depends on USB
177 bool "USB OHCI controllers"
178 default y
179 help
180 Support USB OHCI controllers.
181 config USB_EHCI
182 depends on USB
183 bool "USB EHCI controllers"
184 default y
185 help
186 Support USB EHCI controllers.
187 config USB_MSC
188 depends on USB && DRIVES
189 bool "USB drives"
190 default y
191 help
Gerd Hoffmanne53e30d2012-07-20 10:59:24 +0200192 Support USB BOT (bulk-only transport) disks.
193 config USB_UAS
194 depends on USB && DRIVES
195 bool "UAS drives"
196 default y
197 help
198 Support USB UAS (usb attached scsi) disks.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500199 config USB_HUB
200 depends on USB
201 bool "USB hubs"
202 default y
203 help
204 Support USB hubs.
205 config USB_KEYBOARD
206 depends on USB && KEYBOARD
207 bool "USB keyboards"
208 default y
209 help
210 Support USB keyboards.
211 config USB_MOUSE
212 depends on USB && MOUSE
213 bool "USB mice"
214 default y
215 help
216 Support USB mice.
217
218 config SERIAL
219 bool "Serial port"
220 default y
221 help
222 Support serial ports. This also enables int 14 serial port calls.
223 config LPT
224 bool "Parallel port"
225 default y
226 help
227 Support parallel ports. This also enables int 17 parallel port calls.
228
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500229 config USE_SMM
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100230 depends on QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500231 bool "System Management Mode (SMM)"
232 default y
233 help
234 Support System Management Mode (on emulators).
Kevin O'Connor424f2172011-03-06 19:06:48 -0500235 config MTRR_INIT
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100236 depends on QEMU
Kevin O'Connor424f2172011-03-06 19:06:48 -0500237 bool "Initialize MTRRs"
238 default y
239 help
240 Initialize the Memory Type Range Registers (on emulators).
Gerd Hoffmann455a7c82012-09-06 08:01:00 +0200241 config PMTIMER
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100242 depends on QEMU
Gerd Hoffmann455a7c82012-09-06 08:01:00 +0200243 bool "Use ACPI timer"
244 default y
245 help
246 Use the ACPI timer instead of the TSC for timekeeping (on qemu).
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500247endmenu
248
249menu "BIOS interfaces"
250 config DRIVES
251 bool "Drive interface"
252 default y
253 help
254 Support int13 disk/floppy drive functions.
255
256 config CDROM_BOOT
257 depends on DRIVES
258 bool "DVD/CDROM booting"
259 default y
260 help
261 Support for booting from a CD. (El Torito spec support.)
262 config CDROM_EMU
263 depends on CDROM_BOOT
264 bool "DVD/CDROM boot drive emulation"
265 default y
266 help
267 Support bootable CDROMs that emulate a floppy/harddrive.
268
269 config PCIBIOS
270 bool "PCIBIOS interface"
271 default y
272 help
273 Support int 1a/b1 PCI BIOS calls.
274 config APMBIOS
275 bool "APM interface"
276 default y
277 help
278 Support int 15/53 APM BIOS calls.
279 config PNPBIOS
280 bool "PnP BIOS interface"
281 default y
282 help
283 Support PnP BIOS entry point.
284 config OPTIONROMS
285 bool "Option ROMS"
286 default y
287 help
288 Support finding and running option roms during POST.
289 config OPTIONROMS_DEPLOYED
290 depends on OPTIONROMS
291 bool "Option roms are already at 0xc0000-0xf0000"
292 default n
293 help
294 Select this if option ROMs are already copied to
295 0xc0000-0xf0000. This must only be selected when using
296 Bochs or QEMU versions older than 0.12.
297 config PMM
298 depends on OPTIONROMS
299 bool "PMM interface"
300 default y
301 help
302 Support Post Memory Manager (PMM) entry point.
303 config BOOT
304 bool "Boot interface"
305 default y
306 help
307 Support int 19/18 system bootup support.
308 config KEYBOARD
309 bool "Keyboard interface"
310 default y
311 help
312 Support int 16 keyboard calls.
313 config KBD_CALL_INT15_4F
314 depends on KEYBOARD
315 bool "Keyboard hook interface"
316 default y
317 help
318 Support calling int155f on each keyboard event.
319 config MOUSE
320 bool "Mouse interface"
321 default y
322 help
323 Support for int15c2 mouse calls.
324
325 config S3_RESUME
326 bool "S3 resume"
327 default y
328 help
329 Support S3 resume handler.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500330
Kevin O'Connor713be892011-01-26 21:19:25 -0500331 config VGAHOOKS
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500332 bool "Hardware specific VGA helpers"
333 default y
334 help
335 Support int 155f BIOS callbacks specific to some Intel and
336 VIA on-board vga devices.
337
338 config DISABLE_A20
339 bool "Disable A20"
340 default n
341 help
342 Disable A20 on 16bit boot.
343endmenu
344
345menu "BIOS Tables"
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100346 depends on QEMU
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500347 config PIRTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500348 bool "PIR table"
349 default y
350 help
351 Support generation of a PIR table in 0xf000 segment.
352 config MPTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500353 bool "MPTable"
354 default y
355 help
356 Support generation of MPTable.
357 config SMBIOS
358 bool "SMBIOS"
359 default y
360 help
361 Support generation of SM BIOS tables. This is also
362 sometimes called DMI.
363 config ACPI
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500364 bool "ACPI"
365 default y
366 help
367 Support generation of ACPI tables.
368endmenu
369
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500370source ../vgasrc/Kconfig
Julian Pidancetda08a6d2011-12-19 05:07:56 +0000371
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500372menu "Debugging"
373 config DEBUG_LEVEL
374 int "Debug level"
375 default 1
376 help
377 Control how verbose debug output is. The higher the
378 number, the more verbose SeaBIOS will be.
379
380 Set to zero to disable debugging.
381
382 config DEBUG_SERIAL
383 depends on DEBUG_LEVEL != 0
384 bool "Serial port debugging"
385 default n
386 help
387 Send debugging information to serial port.
Kevin O'Connord12e8a22011-05-10 23:36:11 -0400388 config DEBUG_SERIAL_PORT
389 depends on DEBUG_SERIAL
390 hex "Serial port base address"
391 default 0x3f8
392 help
393 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
Julian Pidancet7123d982012-02-01 16:03:24 +0000394
395 config DEBUG_IO
Gerd Hoffmann9600c802012-10-29 11:28:32 +0100396 depends on QEMU && DEBUG_LEVEL != 0
Julian Pidancet7123d982012-02-01 16:03:24 +0000397 bool "Special IO port debugging"
398 default y
399 help
400 Some emulators or hypervisors provide with a way to output debug
401 information by outputing strings in a special port present in the
402 IO space.
403
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500404endmenu