Bill XIE | 3dda4da | 2022-01-01 11:56:00 +0800 | [diff] [blame] | 1 | config PAYLOAD_BUILD_SEABIOS |
| 2 | bool |
| 3 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 4 | if PAYLOAD_SEABIOS |
| 5 | |
Bill XIE | 3dda4da | 2022-01-01 11:56:00 +0800 | [diff] [blame] | 6 | config PAYLOAD_FILE |
| 7 | default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf" |
| 8 | |
| 9 | endif |
| 10 | |
| 11 | if PAYLOAD_BUILD_SEABIOS |
| 12 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 13 | choice |
| 14 | prompt "SeaBIOS version" |
| 15 | default SEABIOS_STABLE |
| 16 | |
| 17 | config SEABIOS_STABLE |
Felix Singer | df0fac1 | 2024-01-18 00:15:50 +0100 | [diff] [blame^] | 18 | bool "1.16.3" |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 19 | help |
| 20 | Stable SeaBIOS version |
| 21 | config SEABIOS_MASTER |
| 22 | bool "master" |
| 23 | help |
| 24 | Newest SeaBIOS version |
Antonello Dettori | 3aa91dc | 2016-03-07 23:56:57 +0000 | [diff] [blame] | 25 | config SEABIOS_REVISION |
| 26 | bool "git revision" |
| 27 | help |
| 28 | Select this option if you have a specific commit or branch |
| 29 | that you want to use as the revision from which to |
| 30 | build SeaBIOS. |
| 31 | |
| 32 | You will be able to specify the name of a branch or a commit id |
| 33 | later. |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 34 | |
| 35 | endchoice |
| 36 | |
Antonello Dettori | 3aa91dc | 2016-03-07 23:56:57 +0000 | [diff] [blame] | 37 | config SEABIOS_REVISION_ID |
| 38 | string "Insert a commit's SHA-1 or a branch name" |
| 39 | depends on SEABIOS_REVISION |
| 40 | default "origin/master" |
| 41 | help |
| 42 | The commit's SHA-1 or branch name of the revision to use. |
| 43 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 44 | config SEABIOS_PS2_TIMEOUT |
| 45 | prompt "PS/2 keyboard controller initialization timeout (milliseconds)" |
| 46 | default 0 |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 47 | int |
| 48 | help |
| 49 | Some PS/2 keyboard controllers don't respond to commands immediately |
| 50 | after powering on. This specifies how long SeaBIOS will wait for the |
| 51 | keyboard controller to become ready before giving up. |
| 52 | |
| 53 | config SEABIOS_THREAD_OPTIONROMS |
| 54 | prompt "Hardware init during option ROM execution" |
| 55 | default n |
| 56 | bool |
| 57 | help |
| 58 | Allow hardware init to run in parallel with optionrom execution. |
| 59 | |
| 60 | This can reduce boot time, but can cause some timing |
| 61 | variations during option ROM code execution. It is not |
| 62 | known if all option ROMs will behave properly with this option. |
| 63 | |
Matt DeVillier | 9d821fa | 2020-03-26 21:13:24 -0500 | [diff] [blame] | 64 | config SEABIOS_HARDWARE_IRQ |
| 65 | prompt "Hardware Interrupts" |
| 66 | default y |
| 67 | bool |
| 68 | help |
| 69 | Program and support hardware interrupts using the i8259 |
| 70 | programmable interrupt controller (PIC). Deselected by |
| 71 | boards which would otherwise hang at the boot menu (eg, |
| 72 | google/rambi). |
| 73 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 74 | config SEABIOS_VGA_COREBOOT |
| 75 | prompt "Include generated option rom that implements legacy VGA BIOS compatibility" |
Arthur Heymans | 46dd467 | 2016-10-25 17:11:16 +0200 | [diff] [blame] | 76 | default y if !VENDOR_EMULATION |
Nicholas Chin | 8d88557 | 2021-08-28 09:40:41 -0600 | [diff] [blame] | 77 | default y if COREDOOM_SECONDARY_PAYLOAD |
Marcello Sylvester Bauer | 5d8f02f | 2018-11-24 02:39:49 +0100 | [diff] [blame] | 78 | depends on !VGA_ROM_RUN && (VGA_TEXT_FRAMEBUFFER || LINEAR_FRAMEBUFFER) |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 79 | bool |
| 80 | help |
Martin Roth | e81ce04 | 2017-06-03 20:00:36 -0600 | [diff] [blame] | 81 | coreboot can initialize the GPU of some mainboards. |
Martin Roth | 99d05c7 | 2015-11-28 15:44:34 -0700 | [diff] [blame] | 82 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 83 | After initializing the GPU, the information about it can be passed to the payload. |
| 84 | Provide an option rom that implements this legacy VGA BIOS compatibility requirement. |
| 85 | |
Martin Roth | 99d05c7 | 2015-11-28 15:44:34 -0700 | [diff] [blame] | 86 | config PAYLOAD_CONFIGFILE |
| 87 | string "SeaBIOS config file" |
| 88 | default "" |
| 89 | help |
| 90 | This option allows a platform to set Kconfig options for a basic |
| 91 | SeaBIOS payload. In general, if the option is used, the default |
| 92 | would be "$(top)/src/mainboard/$(MAINBOARDDIR)/config_seabios" |
| 93 | |
Martin Roth | bc46ac5 | 2016-06-05 10:30:34 -0600 | [diff] [blame] | 94 | config SEABIOS_BOOTORDER_FILE |
| 95 | string "SeaBIOS bootorder file" |
| 96 | default "" |
| 97 | help |
| 98 | Add a SeaBIOS bootorder file. From the wiki: |
| 99 | "The bootorder file may be used to configure the boot up order. The file |
| 100 | should be ASCII text and contain one line per boot method. The description |
| 101 | of each boot method follows an Open Firmware device path format. SeaBIOS |
| 102 | will attempt to boot from each item in the file - first line of the file |
| 103 | first." |
| 104 | |
| 105 | See: https://www.coreboot.org/SeaBIOS#Configuring_boot_order |
| 106 | |
| 107 | If used, a typical value would be: |
| 108 | $(top)/src/mainboard/$(MAINBOARDDIR)/bootorder |
| 109 | |
Piotr Król | bb95731 | 2018-05-04 15:29:56 +0200 | [diff] [blame] | 110 | config SEABIOS_ADD_SERCON_PORT_FILE |
| 111 | prompt "Add SeaBIOS sercon-port file to CBFS" |
| 112 | default n |
| 113 | bool |
| 114 | help |
| 115 | Select this option to enable SeaBIOS' VGA adapter emulation |
| 116 | on serial port. |
| 117 | |
| 118 | config SEABIOS_SERCON_PORT_ADDR |
| 119 | hex "SeaBIOS sercon-port base address" |
| 120 | depends on SEABIOS_ADD_SERCON_PORT_FILE |
| 121 | default TTYS0_BASE |
| 122 | help |
| 123 | Set this field to the IO address of a serial port for SeaBIOS' VGA |
| 124 | adapter emulation. |
| 125 | |
| 126 | By default primary console UART defined by TTYS0_BASE is used. |
| 127 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 128 | config PAYLOAD_VGABIOS_FILE |
| 129 | string |
| 130 | depends on SEABIOS_VGA_COREBOOT |
| 131 | default "payloads/external/SeaBIOS/seabios/out/vgabios.bin" |
| 132 | |
Stefan Tauner | c48d791 | 2017-01-15 11:49:25 +0100 | [diff] [blame] | 133 | config SEABIOS_DEBUG_LEVEL |
Martin Roth | 8556db3 | 2017-01-23 14:56:55 -0700 | [diff] [blame] | 134 | int "SeaBIOS debug level (verbosity)" |
| 135 | default -1 |
Stefan Tauner | c48d791 | 2017-01-15 11:49:25 +0100 | [diff] [blame] | 136 | help |
Martin Roth | 8556db3 | 2017-01-23 14:56:55 -0700 | [diff] [blame] | 137 | The higher the number, the more verbose SeaBIOS will be. See the table |
| 138 | below for the current values corresponding to various items as of SeaBIOS |
| 139 | version 1.10.1. Set this value to -1 to use SeaBIOS' default. |
Stefan Tauner | c48d791 | 2017-01-15 11:49:25 +0100 | [diff] [blame] | 140 | |
Martin Roth | 8556db3 | 2017-01-23 14:56:55 -0700 | [diff] [blame] | 141 | Output at various SeaBIOS log levels: |
| 142 | level 0 - Logging disabled |
| 143 | level 1 - Basic output, interrupts 5, 18h, 19h, 40h, SMP, PNP, PMM |
| 144 | level 2 - AHCI, Floppy, Basic ps2, interrupts 11h, 12h, 14h, 17h |
| 145 | level 3 - bootsplash, initializations, SeaBIOS VGA BIOS interrupts |
Elyes HAOUAS | 6dc9d03 | 2020-02-16 16:22:52 +0100 | [diff] [blame] | 146 | level 4 - BIOS tables, more optionrom |
Martin Roth | 8556db3 | 2017-01-23 14:56:55 -0700 | [diff] [blame] | 147 | level 5 - Extra bootsplash, more XHCI |
| 148 | level 6 - ATA commands, extra optionrom |
| 149 | level 7 - extra ps2 commands, more OHCI & EHCI |
| 150 | level 8 - extra malloc info, more AHCI |
| 151 | level 9 - interrupts 15h, 16h, 1ah, APM, PCI, SMIs, PCIBIOS, |
| 152 | USB-HID commands, SDcard commands, Floppy commands |
| 153 | level 10 - interrupt 13h (Drives other than floppy) |
| 154 | level 20 - interrupt 10h (Display) |
| 155 | |
| 156 | comment "Using default SeaBIOS log level" |
| 157 | depends on SEABIOS_DEBUG_LEVEL = -1 |
| 158 | |
| 159 | comment "SeaBIOS logging disabled" |
| 160 | depends on SEABIOS_DEBUG_LEVEL = 0 |
| 161 | |
Stefan Reinauer | 1a8b7bf | 2015-06-30 15:58:56 -0700 | [diff] [blame] | 162 | endif |