[SeaBIOS] Boot menu key does not work with config options threads set to 2

Paul Menzel paulepanter at users.sourceforge.net
Wed Feb 1 08:54:20 CET 2017


Dear Kevin,


Thank you for your response.


Am Sonntag, den 29.01.2017, 14:30 -0500 schrieb Kevin O'Connor:
> On Thu, Jan 26, 2017 at 04:30:12PM +0100, Paul Menzel wrote:

> > On the ASRock E350M1 with coreboot and SeaBIOS, setting the runtime config
> > option `threads` to 2, I am unable to press the boot menu key (ESC). [1]
> > 
> > > By default, SeaBIOS will parallelize hardware initialization during bootup to reduce boot time. Multiple hardware devices can be initialized in parallel between vga initialization and option rom initialization. One can set this file to a value of zero to force hardware initialization to run serially. Alternatively, one can set this file to 2 to enable early hardware initialization that runs in parallel with vga, option rom initialization, and the boot menu.
> > 
> > My rotating hard drive is pretty slow, and SeaBIOS is waiting for that.
> > 
> > Not adding `etc/threads` to CBFS, pressing the key works, and the boot menu
> > is displayed.
> > 
> > Is that the expected behavior?
> 
> No, it's not expected.  If you set 'etc/threads' to 2 then you should
> get the boot menu prompt even before the drive finishes spinning up.
> If you send a log we can take a look at it.

Sorry, for not sending it right away. Please find it attached.

```
$ build/cbfstool build/coreboot.rom add-int -n etc/threads -i 2
```
-------------- next part --------------
#
# Automatically generated file; DO NOT EDIT.
# SeaBIOS Configuration
#

#
# General Features
#
CONFIG_COREBOOT=y
# CONFIG_QEMU is not set
# CONFIG_CSM is not set
# CONFIG_QEMU_HARDWARE is not set
CONFIG_THREADS=y
CONFIG_RELOCATE_INIT=y
CONFIG_BOOTMENU=y
CONFIG_BOOTSPLASH=y
# CONFIG_BOOTORDER is not set
CONFIG_COREBOOT_FLASH=y
CONFIG_LZMA=y
CONFIG_CBFS_LOCATION=0
# CONFIG_MULTIBOOT is not set
CONFIG_ENTRY_EXTRASTACK=y
CONFIG_MALLOC_UPPERMEMORY=y
CONFIG_ROM_SIZE=0

#
# Hardware support
#
# CONFIG_ATA is not set
CONFIG_AHCI=y
# CONFIG_SDCARD is not set
# CONFIG_MEGASAS is not set
# CONFIG_FLOPPY is not set
# CONFIG_FLASH_FLOPPY is not set
CONFIG_PS2PORT=y
CONFIG_USB=y
CONFIG_USB_UHCI=y
CONFIG_USB_OHCI=y
CONFIG_USB_EHCI=y
# CONFIG_USB_XHCI is not set
CONFIG_USB_MSC=y
# CONFIG_USB_UAS is not set
CONFIG_USB_HUB=y
CONFIG_USB_KEYBOARD=y
CONFIG_USB_MOUSE=y
# CONFIG_SERIAL is not set
# CONFIG_LPT is not set
CONFIG_RTC_TIMER=y
CONFIG_HARDWARE_IRQ=y
CONFIG_PMTIMER=y
CONFIG_TSC_TIMER=y

#
# BIOS interfaces
#
CONFIG_DRIVES=y
CONFIG_CDROM_BOOT=y
CONFIG_CDROM_EMU=y
# CONFIG_PCIBIOS is not set
# CONFIG_APMBIOS is not set
# CONFIG_PNPBIOS is not set
CONFIG_OPTIONROMS=y
CONFIG_PMM=y
CONFIG_BOOT=y
CONFIG_KEYBOARD=y
# CONFIG_KBD_CALL_INT15_4F is not set
CONFIG_MOUSE=y
CONFIG_S3_RESUME=y
# CONFIG_VGAHOOKS is not set
# CONFIG_DISABLE_A20 is not set
CONFIG_TCGBIOS=y

#
# VGA ROM
#
CONFIG_NO_VGABIOS=y
# CONFIG_VGA_GEODEGX2 is not set
# CONFIG_VGA_GEODELX is not set
# CONFIG_VGA_COREBOOT is not set
# CONFIG_BUILD_VGABIOS is not set
CONFIG_VGA_EXTRA_STACK_SIZE=512

#
# Debugging
#
CONFIG_DEBUG_LEVEL=5
# CONFIG_DEBUG_SERIAL is not set
# CONFIG_DEBUG_SERIAL_MMIO is not set
CONFIG_DEBUG_COREBOOT=y
-------------- next part --------------
Name                           Offset     Type         Size
cbfs master header             0x0        cbfs header  32
fallback/romstage              0x80       stage        183188
fallback/ramstage              0x2cc80    stage        98183
config                         0x44c40    raw          625
revision                       0x44f00    raw          575
cmos_layout.bin                0x45180    cmos_layout  1456
pci1002,9802.rom.lzma          0x45780    optionrom    33379
fallback/dsdt.aml              0x4da40    raw          9417
img/coreinfo                   0x4ff80    payload      108756
img/nvramcui                   0x6a880    payload      123516
(empty)                        0x88b40    null         47270
img/tint                       0x94440    payload      68324
img/memtest                    0xa4f80    payload      180268
bootsplash.jpg                 0xd1000    bootsplash   170591
etc/threads                    0xfaac0    raw          8
fallback/payload               0xfab00    payload      49594
(empty)                        0x106d00   null         3051928
s3nv                           0x3efec0   raw          32768
(empty)                        0x3f7f00   null         31064
bootblock                      0x3ff880   bootblock    1584
-------------- next part --------------


coreboot-4.5-922-gc09e148b38 Tue Jan 31 18:21:22 UTC 2017 ramstage starting...
Enumerating buses...
Mainboard E350M1 Enable.
setup_bsp_ramtop, TOP MEM: msr.lo = 0xe0000000, msr.hi = 0x00000000
setup_bsp_ramtop, TOP MEM2: msr.lo = 0x1f000000, msr.hi = 0x00000002
setup_uma_memory: uma size 0x18000000, memory start 0xc8000000
PCI: Static device PCI: 00:04.0 not found, disabling it.
PCI: Static device PCI: 00:14.1 not found, disabling it.
ASPM: Enabled L0s and L1
done
Allocating resources...
Reading resources...
I2C: 00:50 missing read_resources
I2C: 00:51 missing read_resources
Done reading resources.
skipping PNP: 002e.307 at 23 fixed resource, size=0!
skipping PNP: 002e.307 at e4 fixed resource, size=0!
skipping PNP: 002e.307 at ed fixed resource, size=0!
skipping PNP: 002e.9 at 2a fixed resource, size=0!
skipping PNP: 002e.9 at e0 fixed resource, size=0!
skipping PNP: 002e.a at e7 fixed resource, size=0!
skipping PNP: 002e.d at ec fixed resource, size=0!
Setting resources...
Done setting resources.
Done allocating resources.
Warning: Can't write PCI_INTR 0xC00/0xC01 registers because
'mainboard_picr_data' or 'mainboard_intr_data' tables are NULL
Warning: Can't write PCI IRQ assignments because 'mainboard_pirq_data' structure does not exist
Enabling resources...
done.
Initializing devices...
Initializing CPU #0
Enabling cache
Setting up local APIC...done.
CPU #0 initialized
Initializing CPU #1
Waiting for 1 CPUS to stop
Enabling cache
Setting up local APIC...done.
CPU #1 initialized
CBFS: 'Master Header Locator' located CBFS at [100:3fffc0)
CBFS: Locating 'cmos_layout.bin'
CBFS: Found @ offset 45180 size 5b0
set power off after power fail
Devices initialized
Finalize devices...
Devices finalized
Manufacturer: ef
SF: Detected W25Q32 with sector size 0x1000, total 0x400000
Manufacturer: ef
SF: Detected W25Q32 with sector size 0x1000, total 0x400000
Writing IRQ routing tables to 0xf0000...write_pirq_routing_table done.
Writing IRQ routing tables to 0xc7e6f000...write_pirq_routing_table done.
CBFS: 'Master Header Locator' located CBFS at [100:3fffc0)
CBFS: Locating 'fallback/dsdt.aml'
CBFS: Found @ offset 4da40 size 24c9
CBFS: 'Master Header Locator' located CBFS at [100:3fffc0)
CBFS: Locating 'fallback/slic'
CBFS: 'fallback/slic' not found.
ACPI: Writing ACPI tables at c7e4a000.
ACPI: done.
Root Device (ASROCK E350M1)
CPU_CLUSTER: 0 (AMD Family 14h Root Complex)
APIC: 00 (AMD CPU Family 14h Model 00h-0Fh)
DOMAIN: 0000 (AMD Family 14h Root Complex)
PCI: 00:00.0 (AMD Family 14h Northbridge)
PCI: 00:01.0 (AMD Family 14h Northbridge)
PCI: 00:01.1 (AMD Family 14h Northbridge)
PCI: 00:04.0 (AMD Family 14h Northbridge)
PCI: 00:05.0 (AMD Family 14h Northbridge)
PCI: 00:06.0 (AMD Family 14h Northbridge)
PCI: 00:07.0 (AMD Family 14h Northbridge)
PCI: 00:08.0 (AMD Family 14h Northbridge)
PCI: 00:11.0 (ATI SB800)
PCI: 00:12.0 (ATI SB800)
PCI: 00:12.2 (ATI SB800)
PCI: 00:13.0 (ATI SB800)
PCI: 00:13.2 (ATI SB800)
PCI: 00:14.0 (ATI SB800)
I2C: 00:50 (unknown)
I2C: 00:51 (unknown)
PCI: 00:14.1 (ATI SB800)
PCI: 00:14.2 (ATI SB800)
PCI: 00:14.3 (ATI SB800)
PNP: 002e.0 (NUVOTON NCT5572D Super I/O)
PNP: 002e.1 (NUVOTON NCT5572D Super I/O)
PNP: 002e.2 (NUVOTON NCT5572D Super I/O)
PNP: 002e.3 (NUVOTON NCT5572D Super I/O)
PNP: 002e.5 (NUVOTON NCT5572D Super I/O)
PNP: 002e.6 (NUVOTON NCT5572D Super I/O)
PNP: 002e.107 (NUVOTON NCT5572D Super I/O)
PNP: 002e.207 (NUVOTON NCT5572D Super I/O)
PNP: 002e.307 (NUVOTON NCT5572D Super I/O)
PNP: 002e.407 (NUVOTON NCT5572D Super I/O)
PNP: 002e.8 (NUVOTON NCT5572D Super I/O)
PNP: 002e.9 (NUVOTON NCT5572D Super I/O)
PNP: 002e.109 (NUVOTON NCT5572D Super I/O)
PNP: 002e.209 (NUVOTON NCT5572D Super I/O)
PNP: 002e.309 (NUVOTON NCT5572D Super I/O)
PNP: 002e.a (NUVOTON NCT5572D Super I/O)
PNP: 002e.b (NUVOTON NCT5572D Super I/O)
PNP: 002e.c (NUVOTON NCT5572D Super I/O)
PNP: 002e.d (NUVOTON NCT5572D Super I/O)
PNP: 002e.e (NUVOTON NCT5572D Super I/O)
PNP: 002e.f (NUVOTON NCT5572D Super I/O)
PCI: 00:14.4 (ATI SB800)
PCI: 00:14.5 (ATI SB800)
PCI: 00:15.0 (ATI SB800)
PCI: 00:15.1 (ATI SB800)
PCI: 00:15.2 (ATI SB800)
PCI: 00:15.3 (ATI SB800)
PCI: 00:16.0 (ATI SB800)
PCI: 00:16.2 (ATI SB800)
PCI: 00:18.0 (AMD Family 14h Northbridge)
PCI: 00:18.1 (AMD Family 14h Northbridge)
PCI: 00:18.2 (AMD Family 14h Northbridge)
PCI: 00:18.3 (AMD Family 14h Northbridge)
PCI: 00:18.4 (AMD Family 14h Northbridge)
PCI: 00:18.5 (AMD Family 14h Northbridge)
PCI: 00:18.6 (AMD Family 14h Northbridge)
PCI: 00:18.7 (AMD Family 14h Northbridge)
APIC: 01 (unknown)
PCI: 03:00.0 (unknown)
CBFS: 'Master Header Locator' located CBFS at [100:3fffc0)
CBFS: Locating 'cmos_layout.bin'
CBFS: Found @ offset 45180 size 5b0
CBFS: 'Master Header Locator' located CBFS at [100:3fffc0)
CBFS: 'Master Header Locator' located CBFS at [100:3fffc0)
CBFS: Locating 'fallback/payload'
CBFS: Found @ offset fab00 size c1ba
SeaBIOS (version rel-1.10.0-12-g970af16)
BUILD: gcc: (Debian 6.3.0-5) 6.3.0 20170124 binutils: (GNU Binutils for Debian) 2.27.90.20170124
Found coreboot cbmem console @ c7fde000
Found mainboard ASROCK E350M1
malloc preinit
Relocating init from 0x000ea600 to 0xc7def940 (size 38432)
malloc init
Found CBFS header at 0xffc00138
Add romfile: cbfs master header (size=32)
Add romfile: fallback/romstage (size=183188)
Add romfile: fallback/ramstage (size=98183)
Add romfile: config (size=625)
Add romfile: revision (size=575)
Add romfile: cmos_layout.bin (size=1456)
Add romfile: pci1002,9802.rom (size=57856)
Add romfile: fallback/dsdt.aml (size=9417)
Add romfile: img/coreinfo (size=108756)
Add romfile: img/nvramcui (size=123516)
Add romfile:  (size=47270)
Add romfile: img/tint (size=68324)
Add romfile: img/memtest (size=180268)
Add romfile: bootsplash.jpg (size=170591)
Add romfile: etc/threads (size=8)
Add romfile: fallback/payload (size=49594)
Add romfile:  (size=3051928)
Add romfile: s3nv (size=32768)
Add romfile:  (size=31064)
Add romfile: bootblock (size=1584)
init ivt
init bda
init bios32
init PMM
init keyboard
init mouse
init pic
Copying data 8 at 0xffcfabe8 to 8 at 0x00006dbc
math cp init
PCI probe
PCI device 00:00.0 (vd=1022:1510 c=0600)
PCI device 00:01.0 (vd=1002:9802 c=0300)
PCI device 00:01.1 (vd=1002:1314 c=0403)
PCI device 00:11.0 (vd=1002:4391 c=0106)
PCI device 00:12.0 (vd=1002:4397 c=0c03)
PCI device 00:12.2 (vd=1002:4396 c=0c03)
PCI device 00:13.0 (vd=1002:4397 c=0c03)
PCI device 00:13.2 (vd=1002:4396 c=0c03)
PCI device 00:14.0 (vd=1002:4385 c=0c05)
PCI device 00:14.2 (vd=1002:4383 c=0403)
PCI device 00:14.3 (vd=1002:439d c=0601)
PCI device 00:14.4 (vd=1002:4384 c=0604)
PCI device 00:14.5 (vd=1002:4399 c=0c03)
PCI device 00:15.0 (vd=1002:43a0 c=0604)
PCI device 00:15.1 (vd=1002:43a1 c=0604)
PCI device 00:18.0 (vd=1022:1700 c=0600)
PCI device 00:18.1 (vd=1022:1701 c=0600)
PCI device 00:18.2 (vd=1022:1702 c=0600)
PCI device 00:18.3 (vd=1022:1703 c=0600)
PCI device 00:18.4 (vd=1022:1704 c=0600)
PCI device 00:18.5 (vd=1022:1718 c=0600)
PCI device 00:18.6 (vd=1022:1716 c=0600)
PCI device 00:18.7 (vd=1022:1719 c=0600)
PCI device 03:00.0 (vd=10ec:8168 c=0200)
Found 24 PCI devices (max PCI bus is 03)
Relocating coreboot bios tables
Copying SMBIOS entry point from 0xc7e39000 to 0x000f3c00
Copying ACPI RSDP from 0xc7e4a000 to 0x000f3bd0
Copying MPTABLE from 0xc7e6e000/c7e6e010 to 0x000f39d0
Copying PIR from 0xc7e6f000 to 0x000f39a0
rsdp=0x000f3bd0
rsdt=0xc7e4a030
table(50434146)=0xc7e4c750
pm_tmr_blk=808
Using pmtimer, ioport 0x808
init timer
init usb
EHCI init on dev 00:12.2 (regs=0xf014c020)
/c7dec000\ Start thread
EHCI init on dev 00:13.2 (regs=0xf014d020)
/c7deb000\ Start thread
OHCI init on dev 00:12.0 (regs=0xf0148000)
/c7dea000\ Start thread
OHCI init on dev 00:13.0 (regs=0xf0149000)
/c7de9000\ Start thread
OHCI init on dev 00:14.5 (regs=0xf014a000)
/c7de8000\ Start thread
init ps2port
/c7de7000\ Start thread
init ahci
AHCI controller at 00:11.0, iobase 0xf014b000, irq 0
AHCI: cap 0xf332ff05, ports_impl 0x3f
/c7de6000\ Start thread
|c7de6000| AHCI/0: probing
|c7de6000| AHCI/0: link up
/c7de4000\ Start thread
|c7de4000| AHCI/1: probing
/c7de3000\ Start thread
|c7de3000| AHCI/2: probing
/c7de1000\ Start thread
|c7de1000| AHCI/3: probing
/c7de0000\ Start thread
|c7de0000| AHCI/4: probing
/c7dde000\ Start thread
|c7dde000| AHCI/5: probing
Registering bootable: Payload [memtest] (type:32 prio:9999 data:ffca5080)
Registering bootable: Payload [tint] (type:32 prio:9999 data:ffc94540)
Registering bootable: Payload [nvramcui] (type:32 prio:9999 data:ffc6a980)
Registering bootable: Payload [coreinfo] (type:32 prio:9999 data:ffc50080)
Scan for VGA option rom
Attempting to init PCI bdf 00:01.0 (vd 1002:9802)
|c7de0000| AHCI/4: link down
|c7de1000| AHCI/3: link down
|c7de3000| AHCI/2: link down
|c7de4000| AHCI/1: link down
|c7dde000| AHCI/5: link down
\c7de0000/ End thread
\c7de1000/ End thread
\c7de3000/ End thread
\c7de4000/ End thread
\c7dde000/ End thread
Uncompressing data 33379 at 0xc7dd5d90 to 57856 at 0x000c0000
/c7de4000\ Start thread
/c7de3000\ Start thread
Running option rom at c000:0003
/c7de2000\ Start thread
/c7de1000\ Start thread
\c7de1000/ End thread
/c7de1000\ Start thread
/c7de0000\ Start thread
/c7dde000\ Start thread
/c7ddd000\ Start thread
/c7ddc000\ Start thread
/c7ddb000\ Start thread
/c7dda000\ Start thread
/c7dd9000\ Start thread
/c7dd8000\ Start thread
/c7dd7000\ Start thread
/c7dd6000\ Start thread
/c7dd5000\ Start thread
/c7dd4000\ Start thread
/c7dd3000\ Start thread
/c7dd2000\ Start thread
/c7dd1000\ Start thread
/c7dd0000\ Start thread
/c7dcf000\ Start thread
Turning on vga text mode console
|c7dd5000| set_address 0xc7deddf0
\c7ddc000/ End thread
\c7dde000/ End thread
\c7de1000/ End thread
\c7de2000/ End thread
\c7de4000/ End thread
\c7ddb000/ End thread
\c7ddd000/ End thread
\c7de3000/ End thread
SeaBIOS (version rel-1.10.0-12-g970af16)
Scan for option roms
Attempting to init PCI bdf 00:00.0 (vd 1022:1510)
Attempting to init PCI bdf 00:01.1 (vd 1002:1314)
Attempting to init PCI bdf 00:14.0 (vd 1002:4385)
Attempting to init PCI bdf 00:14.2 (vd 1002:4383)
Attempting to init PCI bdf 00:14.3 (vd 1002:439d)
Attempting to init PCI bdf 00:14.4 (vd 1002:4384)
Attempting to init PCI bdf 00:15.0 (vd 1002:43a0)
Attempting to init PCI bdf 00:15.1 (vd 1002:43a1)
Attempting to init PCI bdf 00:18.0 (vd 1022:1700)
Attempting to init PCI bdf 00:18.1 (vd 1022:1701)
Attempting to init PCI bdf 00:18.2 (vd 1022:1702)
Attempting to init PCI bdf 00:18.3 (vd 1022:1703)
Attempting to init PCI bdf 00:18.4 (vd 1022:1704)
Attempting to init PCI bdf 00:18.5 (vd 1022:1718)
Attempting to init PCI bdf 00:18.6 (vd 1022:1716)
Attempting to init PCI bdf 00:18.7 (vd 1022:1719)
Attempting to init PCI bdf 03:00.0 (vd 10ec:8168)

Press ESC for boot menu.

Checking for bootsplash
Copying romfile 'bootsplash.jpg' (len 170591)
Copying data 170591 at 0xffcd1138 to 170591 at 0xc7da55a0
|c7de0000| set_address 0xc7dee010
\c7deb000/ End thread
|c7dd5000| config_usb: 0xc7dedf00
|c7dd5000| device rev=0100 cls=00 sub=00 proto=00 size=8
|c7de0000| config_usb: 0xc7ded350
|c7de0000| device rev=0200 cls=00 sub=00 proto=00 size=64
|c7dd5000| usb_hid_setup 0xc7dedf00
|c7dd5000| USB mouse initialized
\c7dd5000/ End thread
\c7de0000/ End thread
\c7dec000/ End thread
\c7dd7000/ End thread
\c7dda000/ End thread
\c7dd0000/ End thread
\c7dd2000/ End thread
\c7dd4000/ End thread
\c7dd6000/ End thread
\c7dd9000/ End thread
\c7dcf000/ End thread
\c7dd1000/ End thread
\c7dd3000/ End thread
\c7dd8000/ End thread
\c7de8000/ End thread
\c7de9000/ End thread
\c7dea000/ End thread
start showing bootsplash
VESA 3.0
VENDOR: (C) 1988-2010, AMD Technologies Inc. 
PRODUCT: WRESTLER
Decoding bootsplash.jpg
Finding vesa mode with dimensions 1024/768
mode: 0117
framebuffer: 0xe0000000
bytes per scanline: 2048
bits per pixel: 16
Decompressing bootsplash.jpg
Switching to graphics mode
Showing bootsplash picture
|c7de7000| PS2 keyboard initialized
\c7de7000/ End thread
Bootsplash copy complete
Turning on vga text mode console
SeaBIOS (version rel-1.10.0-12-g970af16)
|c7de6000| AHCI/0: ... finished, status 0x51, ERROR 0x4
|c7de6000| AHCI/0: supported modes: udma 5, multi-dma 2, pio 4
|c7de6000| AHCI/0: Set transfer mode to UDMA-5
|c7de6000| AHCI/0: registering: "AHCI/0: WDC WD20EARS-60MVWB0 ATA-8 Hard-Disk (1863 GiBytes)"
|c7de6000| Registering bootable: AHCI/0: WDC WD20EARS-60MVWB0 ATA-8 Hard-Disk (1863 GiBytes) (type:2 prio:103 data:f3930)
\c7de6000/ End thread
All threads complete.
Searching bootorder for: HALT
Mapping hd drive 0x000f3930 to 0
drive 0x000f3930: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=3907029168
finalize PMM
malloc finalize
Space available for UMB: ce800-ee800, f0000-f3930
Returned 253952 bytes of ZoneHigh
e820 map has 7 items:
  0: 0000000000000000 - 000000000009fc00 = 1 RAM
  1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
  2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
  3: 0000000000100000 - 00000000c7e37000 = 1 RAM
  4: 00000000c7e37000 - 00000000e0000000 = 2 RESERVED
  5: 00000000f8000000 - 00000000fc000000 = 2 RESERVED
  6: 0000000100000000 - 000000021f000000 = 1 RAM
Jump to int19
enter handle_19:
  NULL
Booting from Hard Disk...
Booting from 0000:7c00

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://www.coreboot.org/pipermail/seabios/attachments/20170201/65028567/attachment-0001.asc>


More information about the SeaBIOS mailing list