1 # Kconfig SeaBIOS configuration
3 mainmenu "SeaBIOS Configuration"
5 menu "General Features"
8 bool "Build for coreboot"
11 Configure as a coreboot payload.
15 bool "Build for Xen HVM"
18 Configure to be used by xen hvmloader, for a HVM guest.
21 bool "Parallelize hardware init"
24 Support running hardware initialization in parallel.
25 config THREAD_OPTIONROMS
27 bool "Hardware init during option ROM execution"
30 Allow hardware init to run in parallel with optionrom execution.
32 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
38 bool "Copy init code to high memory"
41 Support relocating the one time initialization code to high memory.
48 Support an interactive boot menu at end of post.
54 Amount of time (in ms) to wait at menu before selecting normal boot.
57 bool "Graphical boot splash screen"
60 Support showing a graphical boot splash screen.
66 Support controlling of the boot order via the fw_cfg/CBFS
71 bool "coreboot CBFS support"
74 Support searching coreboot flash format.
76 depends on COREBOOT_FLASH
77 bool "CBFS lzma support"
80 Support CBFS files compressed using the lzma decompression
83 depends on COREBOOT_FLASH
84 bool "Floppy images in CBFS"
87 Support floppy images in coreboot flash.
91 menu "Hardware support"
94 bool "ATA controllers"
97 Support for IDE disk code.
103 Detect and try to use ATA bus mastering DMA controllers.
109 Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
112 bool "AHCI controllers"
115 Support for AHCI disk code.
117 depends on DRIVES && !COREBOOT
118 bool "VirtIO controllers"
121 Support boot from virtio storage.
124 bool "Floppy controller"
127 Support floppy drive access.
130 depends on KEYBOARD || MOUSE
134 Support PS2 ports (keyboard and mouse).
135 config PS2_KEYBOARD_SPINUP
136 depends on PS2PORT && COREBOOT
137 int "Extra time (in ms) to allow a keyboard to initialize"
140 Some PS2 keyboards don't respond to commands immediately
141 after powering on. Specify a positive value here to allow
142 additional time for the keyboard to become responsive.
151 bool "USB UHCI controllers"
154 Support USB UHCI controllers.
157 bool "USB OHCI controllers"
160 Support USB OHCI controllers.
163 bool "USB EHCI controllers"
166 Support USB EHCI controllers.
168 depends on USB && DRIVES
180 depends on USB && KEYBOARD
184 Support USB keyboards.
186 depends on USB && MOUSE
196 Support serial ports. This also enables int 14 serial port calls.
201 Support parallel ports. This also enables int 17 parallel port calls.
203 config EXTRA_PCI_ROOTS
204 bool "Extra root buses"
207 If the target machine has multiple independent root buses,
208 the extra buses may be specified here.
210 depends on EXTRA_PCI_ROOTS
211 hex "Extra primary PCI root bus number"
214 depends on EXTRA_PCI_ROOTS
215 hex "Extra secondary PCI root bus number"
220 bool "System Management Mode (SMM)"
223 Support System Management Mode (on emulators).
226 bool "Initialize MTRRs"
229 Initialize the Memory Type Range Registers (on emulators).
232 menu "BIOS interfaces"
234 bool "Drive interface"
237 Support int13 disk/floppy drive functions.
241 bool "DVD/CDROM booting"
244 Support for booting from a CD. (El Torito spec support.)
246 depends on CDROM_BOOT
247 bool "DVD/CDROM boot drive emulation"
250 Support bootable CDROMs that emulate a floppy/harddrive.
253 bool "PCIBIOS interface"
256 Support int 1a/b1 PCI BIOS calls.
261 Support int 15/53 APM BIOS calls.
263 bool "PnP BIOS interface"
266 Support PnP BIOS entry point.
271 Support finding and running option roms during POST.
272 config OPTIONROMS_DEPLOYED
273 depends on OPTIONROMS
274 bool "Option roms are already at 0xc0000-0xf0000"
277 Select this if option ROMs are already copied to
278 0xc0000-0xf0000. This must only be selected when using
279 Bochs or QEMU versions older than 0.12.
280 config OPTIONROMS_CHECKSUM
281 depends on OPTIONROMS
282 bool "Require correct checksum on option ROMs"
285 Option ROMs are required to have correct checksums.
286 However, some option ROMs in the wild don't correctly
287 follow the specifications and have bad checksums.
288 Say N here to allow SeaBIOS to execute them anyways.
292 depends on OPTIONROMS
296 Support Post Memory Manager (PMM) entry point.
298 bool "Boot interface"
301 Support int 19/18 system bootup support.
303 bool "Keyboard interface"
306 Support int 16 keyboard calls.
307 config KBD_CALL_INT15_4F
309 bool "Keyboard hook interface"
312 Support calling int155f on each keyboard event.
314 bool "Mouse interface"
317 Support for int15c2 mouse calls.
323 Support S3 resume handler.
324 config S3_RESUME_VGA_INIT
326 bool "Run VGA rom on S3 resume"
329 Run the vga rom during S3 resume.
333 bool "Hardware specific VGA helpers"
336 Support int 155f BIOS callbacks specific to some Intel and
337 VIA on-board vga devices.
343 Disable A20 on 16bit boot.
352 Support generation of a PIR table in 0xf000 segment.
358 Support generation of MPTable.
363 Support generation of SM BIOS tables. This is also
364 sometimes called DMI.
370 Support generation of ACPI tables.
378 Control how verbose debug output is. The higher the
379 number, the more verbose SeaBIOS will be.
381 Set to zero to disable debugging.
384 depends on DEBUG_LEVEL != 0
385 bool "Serial port debugging"
388 Send debugging information to serial port.
389 config DEBUG_SERIAL_PORT
390 depends on DEBUG_SERIAL
391 hex "Serial port base address"
394 Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
396 config SCREEN_AND_DEBUG
397 depends on DEBUG_LEVEL != 0
398 bool "Show screen writes on debug ports"
401 Send characters that SeaBIOS writes to the screen to the