blob: 6de3e7152545b762ac6da8a5a4384e84ec805a81 [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
Kevin O'Connor713be892011-01-26 21:19:25 -05007 config COREBOOT
Kevin O'Connor1efb10b2011-01-29 10:57:20 -05008 bool "Build for coreboot"
9 default n
10 help
11 Configure as a coreboot payload.
12
Ian Campbell74c78782011-06-01 11:00:29 +010013 config XEN
Kevin O'Connor9b0fbd22011-06-14 22:20:45 -040014 depends on !COREBOOT
Ian Campbell74c78782011-06-01 11:00:29 +010015 bool "Build for Xen HVM"
Ian Campbell9264a2c2012-06-28 11:08:31 +010016 default y
Ian Campbell74c78782011-06-01 11:00:29 +010017 help
18 Configure to be used by xen hvmloader, for a HVM guest.
19
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050020 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
Kevin O'Connorf31171c2011-05-07 13:57:42 -040032 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
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050037 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.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050049 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.
Kevin O'Connor49bf57b2011-05-10 22:08:30 -040055 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.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -050062
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
83endmenu
84
85menu "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"
Gerd Hoffmannceb8ed42011-08-04 20:42:16 +0200107 default y
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500108 help
109 Support for AHCI disk code.
110 config VIRTIO_BLK
111 depends on DRIVES && !COREBOOT
Paolo Bonzini0e7fb5f2011-11-16 13:02:55 +0100112 bool "virtio-blk controllers"
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500113 default y
114 help
Paolo Bonzini0e7fb5f2011-11-16 13:02:55 +0100115 Support boot from virtio-blk storage.
Paolo Bonzinic5c488f2012-02-27 17:22:23 +0100116 config VIRTIO_SCSI
117 depends on DRIVES && !COREBOOT
118 bool "virtio-scsi controllers"
119 default y
120 help
121 Support boot from virtio-scsi storage.
Paolo Bonzini7a39e722012-08-06 13:15:06 +0200122 config ESP_SCSI
123 depends on DRIVES && !COREBOOT
124 bool "AMD PCscsi controllers"
125 default y
126 help
127 Support boot from AMD PCscsi storage.
Gerd Hoffmann9d6bac12012-07-20 10:59:25 +0200128 config LSI_SCSI
129 depends on DRIVES && !COREBOOT
130 bool "lsi53c895a scsi controllers"
131 default y
132 help
133 Support boot from qemu-emulated lsi53c895a scsi storage.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500134 config FLOPPY
135 depends on DRIVES
136 bool "Floppy controller"
137 default y
138 help
139 Support floppy drive access.
140
141 config PS2PORT
142 depends on KEYBOARD || MOUSE
143 bool "PS/2 port"
144 default y
145 help
146 Support PS2 ports (keyboard and mouse).
147
148 config USB
149 bool "USB"
150 default y
151 help
152 Support USB devices.
153 config USB_UHCI
154 depends on USB
155 bool "USB UHCI controllers"
156 default y
157 help
158 Support USB UHCI controllers.
159 config USB_OHCI
160 depends on USB
161 bool "USB OHCI controllers"
162 default y
163 help
164 Support USB OHCI controllers.
165 config USB_EHCI
166 depends on USB
167 bool "USB EHCI controllers"
168 default y
169 help
170 Support USB EHCI controllers.
171 config USB_MSC
172 depends on USB && DRIVES
173 bool "USB drives"
174 default y
175 help
Gerd Hoffmanne53e30d2012-07-20 10:59:24 +0200176 Support USB BOT (bulk-only transport) disks.
177 config USB_UAS
178 depends on USB && DRIVES
179 bool "UAS drives"
180 default y
181 help
182 Support USB UAS (usb attached scsi) disks.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500183 config USB_HUB
184 depends on USB
185 bool "USB hubs"
186 default y
187 help
188 Support USB hubs.
189 config USB_KEYBOARD
190 depends on USB && KEYBOARD
191 bool "USB keyboards"
192 default y
193 help
194 Support USB keyboards.
195 config USB_MOUSE
196 depends on USB && MOUSE
197 bool "USB mice"
198 default y
199 help
200 Support USB mice.
201
202 config SERIAL
203 bool "Serial port"
204 default y
205 help
206 Support serial ports. This also enables int 14 serial port calls.
207 config LPT
208 bool "Parallel port"
209 default y
210 help
211 Support parallel ports. This also enables int 17 parallel port calls.
212
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500213 config USE_SMM
214 depends on !COREBOOT
215 bool "System Management Mode (SMM)"
216 default y
217 help
218 Support System Management Mode (on emulators).
Kevin O'Connor424f2172011-03-06 19:06:48 -0500219 config MTRR_INIT
220 depends on !COREBOOT
221 bool "Initialize MTRRs"
222 default y
223 help
224 Initialize the Memory Type Range Registers (on emulators).
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500225endmenu
226
227menu "BIOS interfaces"
228 config DRIVES
229 bool "Drive interface"
230 default y
231 help
232 Support int13 disk/floppy drive functions.
233
234 config CDROM_BOOT
235 depends on DRIVES
236 bool "DVD/CDROM booting"
237 default y
238 help
239 Support for booting from a CD. (El Torito spec support.)
240 config CDROM_EMU
241 depends on CDROM_BOOT
242 bool "DVD/CDROM boot drive emulation"
243 default y
244 help
245 Support bootable CDROMs that emulate a floppy/harddrive.
246
247 config PCIBIOS
248 bool "PCIBIOS interface"
249 default y
250 help
251 Support int 1a/b1 PCI BIOS calls.
252 config APMBIOS
253 bool "APM interface"
254 default y
255 help
256 Support int 15/53 APM BIOS calls.
257 config PNPBIOS
258 bool "PnP BIOS interface"
259 default y
260 help
261 Support PnP BIOS entry point.
262 config OPTIONROMS
263 bool "Option ROMS"
264 default y
265 help
266 Support finding and running option roms during POST.
267 config OPTIONROMS_DEPLOYED
268 depends on OPTIONROMS
269 bool "Option roms are already at 0xc0000-0xf0000"
270 default n
271 help
272 Select this if option ROMs are already copied to
273 0xc0000-0xf0000. This must only be selected when using
274 Bochs or QEMU versions older than 0.12.
275 config PMM
276 depends on OPTIONROMS
277 bool "PMM interface"
278 default y
279 help
280 Support Post Memory Manager (PMM) entry point.
281 config BOOT
282 bool "Boot interface"
283 default y
284 help
285 Support int 19/18 system bootup support.
286 config KEYBOARD
287 bool "Keyboard interface"
288 default y
289 help
290 Support int 16 keyboard calls.
291 config KBD_CALL_INT15_4F
292 depends on KEYBOARD
293 bool "Keyboard hook interface"
294 default y
295 help
296 Support calling int155f on each keyboard event.
297 config MOUSE
298 bool "Mouse interface"
299 default y
300 help
301 Support for int15c2 mouse calls.
302
303 config S3_RESUME
304 bool "S3 resume"
305 default y
306 help
307 Support S3 resume handler.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500308
Kevin O'Connor713be892011-01-26 21:19:25 -0500309 config VGAHOOKS
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500310 bool "Hardware specific VGA helpers"
311 default y
312 help
313 Support int 155f BIOS callbacks specific to some Intel and
314 VIA on-board vga devices.
315
316 config DISABLE_A20
317 bool "Disable A20"
318 default n
319 help
320 Disable A20 on 16bit boot.
321endmenu
322
323menu "BIOS Tables"
Kevin O'Connor7a88c872012-06-09 13:46:11 -0400324 depends on !COREBOOT
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500325 config PIRTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500326 bool "PIR table"
327 default y
328 help
329 Support generation of a PIR table in 0xf000 segment.
330 config MPTABLE
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500331 bool "MPTable"
332 default y
333 help
334 Support generation of MPTable.
335 config SMBIOS
336 bool "SMBIOS"
337 default y
338 help
339 Support generation of SM BIOS tables. This is also
340 sometimes called DMI.
341 config ACPI
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500342 bool "ACPI"
343 default y
344 help
345 Support generation of ACPI tables.
346endmenu
347
Kevin O'Connor5f4ce9e2012-01-15 02:01:24 -0500348source ../vgasrc/Kconfig
Julian Pidancetda08a6d2011-12-19 05:07:56 +0000349
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500350menu "Debugging"
351 config DEBUG_LEVEL
352 int "Debug level"
353 default 1
354 help
355 Control how verbose debug output is. The higher the
356 number, the more verbose SeaBIOS will be.
357
358 Set to zero to disable debugging.
359
360 config DEBUG_SERIAL
361 depends on DEBUG_LEVEL != 0
362 bool "Serial port debugging"
363 default n
364 help
365 Send debugging information to serial port.
Kevin O'Connord12e8a22011-05-10 23:36:11 -0400366 config DEBUG_SERIAL_PORT
367 depends on DEBUG_SERIAL
368 hex "Serial port base address"
369 default 0x3f8
370 help
371 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
Julian Pidancet7123d982012-02-01 16:03:24 +0000372
373 config DEBUG_IO
374 depends on !COREBOOT && DEBUG_LEVEL != 0
375 bool "Special IO port debugging"
376 default y
377 help
378 Some emulators or hypervisors provide with a way to output debug
379 information by outputing strings in a special port present in the
380 IO space.
381
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500382endmenu