blob: 7a4d50a2c7d41946a1f9336fafb9091f49d56c72 [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"
16 default n
17 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"
107 default n
108 help
109 Support for AHCI disk code.
110 config VIRTIO_BLK
111 depends on DRIVES && !COREBOOT
112 bool "VirtIO controllers"
113 default y
114 help
115 Support boot from virtio 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
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500189 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).
Kevin O'Connor424f2172011-03-06 19:06:48 -0500195 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).
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500201endmenu
202
203menu "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.
Kevin O'Connorcc975642011-03-06 19:22:46 -0500251 config OPTIONROMS_CHECKSUM
252 depends on OPTIONROMS
253 bool "Require correct checksum on option ROMs"
254 default y
255 help
256 Option ROMs are required to have correct checksums.
257 However, some option ROMs in the wild don't correctly
258 follow the specifications and have bad checksums.
259 Say N here to allow SeaBIOS to execute them anyways.
260
261 If unsure, say Y.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500262 config PMM
263 depends on OPTIONROMS
264 bool "PMM interface"
265 default y
266 help
267 Support Post Memory Manager (PMM) entry point.
268 config BOOT
269 bool "Boot interface"
270 default y
271 help
272 Support int 19/18 system bootup support.
273 config KEYBOARD
274 bool "Keyboard interface"
275 default y
276 help
277 Support int 16 keyboard calls.
278 config KBD_CALL_INT15_4F
279 depends on KEYBOARD
280 bool "Keyboard hook interface"
281 default y
282 help
283 Support calling int155f on each keyboard event.
284 config MOUSE
285 bool "Mouse interface"
286 default y
287 help
288 Support for int15c2 mouse calls.
289
290 config S3_RESUME
291 bool "S3 resume"
292 default y
293 help
294 Support S3 resume handler.
295 config S3_RESUME_VGA_INIT
296 depends on S3_RESUME
297 bool "Run VGA rom on S3 resume"
298 default n
299 help
300 Run the vga rom during S3 resume.
301
Kevin O'Connor713be892011-01-26 21:19:25 -0500302 config VGAHOOKS
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500303 depends on COREBOOT
304 bool "Hardware specific VGA helpers"
305 default y
306 help
307 Support int 155f BIOS callbacks specific to some Intel and
308 VIA on-board vga devices.
309
310 config DISABLE_A20
311 bool "Disable A20"
312 default n
313 help
314 Disable A20 on 16bit boot.
315endmenu
316
317menu "BIOS Tables"
318 config PIRTABLE
319 depends on !COREBOOT
320 bool "PIR table"
321 default y
322 help
323 Support generation of a PIR table in 0xf000 segment.
324 config MPTABLE
325 depends on !COREBOOT
326 bool "MPTable"
327 default y
328 help
329 Support generation of MPTable.
330 config SMBIOS
331 bool "SMBIOS"
332 default y
333 help
334 Support generation of SM BIOS tables. This is also
335 sometimes called DMI.
336 config ACPI
337 depends on !COREBOOT
338 bool "ACPI"
339 default y
340 help
341 Support generation of ACPI tables.
342endmenu
343
344menu "Debugging"
345 config DEBUG_LEVEL
346 int "Debug level"
347 default 1
348 help
349 Control how verbose debug output is. The higher the
350 number, the more verbose SeaBIOS will be.
351
352 Set to zero to disable debugging.
353
354 config DEBUG_SERIAL
355 depends on DEBUG_LEVEL != 0
356 bool "Serial port debugging"
357 default n
358 help
359 Send debugging information to serial port.
Kevin O'Connord12e8a22011-05-10 23:36:11 -0400360 config DEBUG_SERIAL_PORT
361 depends on DEBUG_SERIAL
362 hex "Serial port base address"
363 default 0x3f8
364 help
365 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
Kevin O'Connor1efb10b2011-01-29 10:57:20 -0500366
367 config SCREEN_AND_DEBUG
368 depends on DEBUG_LEVEL != 0
369 bool "Show screen writes on debug ports"
370 default y
371 help
372 Send characters that SeaBIOS writes to the screen to the
373 debug ports.
374endmenu