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