[Skiboot] [PATCH] core/flash: Retry requests as necessary in flash_load_resource()
stewart at linux.ibm.com
Fri Mar 29 15:44:34 AEDT 2019
Andrew Jeffery <andrew at aj.id.au> writes:
> We would like to successfully boot if we have a dependency on the BMC
> for flash even if the BMC is not current ready to service flash
> requests. On the assumption that it will become ready, retry for several
> minutes to cover a BMC reboot cycle and *eventually* rather than
> *immediately* crash out with:
> [ 269.549748] reboot: Restarting system
> [ 390.297462587,5] OPAL: Reboot request...
> [ 390.297737995,5] RESET: Initiating fast reboot 1...
> [ 391.074707590,5] Clearing unused memory:
> [ 391.075198880,5] PCI: Clearing all devices...
> [ 391.075201618,7] Clearing region 201ffe000000-201fff800000
> [ 391.086235699,5] PCI: Resetting PHBs and training links...
> [ 391.254089525,3] FFS: Error 17 reading flash header
> [ 391.254159668,3] FLASH: Can't open ffs handle: 17
> [ 392.307245135,5] PCI: Probing slots...
> [ 392.363723191,5] PCI Summary:
> [ 393.423255262,5] OCC: All Chip Rdy after 0 ms
> [ 393.453092828,5] INIT: Starting kernel at 0x20000000, fdt at
> 0x30800a88 390645 bytes
> [ 393.453202605,0] FATAL: Kernel is zeros, can't execute!
> [ 393.453247064,0] Assert fail: core/init.c:593:0
> [ 393.453289682,0] Aborting!
> CPU 0040 Backtrace:
> S: 0000000031e03ca0 R: 000000003001af60 ._abort+0x4c
> S: 0000000031e03d20 R: 000000003001afdc .assert_fail+0x34
> S: 0000000031e03da0 R: 00000000300146d8 .load_and_boot_kernel+0xb30
> S: 0000000031e03e70 R: 0000000030026cf0 .fast_reboot_entry+0x39c
> S: 0000000031e03f00 R: 0000000030002a4c fast_reset_entry+0x2c
> --- OPAL boot ---
> The OPAL flash API hooks directly into the blocklevel layer, so there's
> no delay for e.g. the host kernel, just for asynchronously loaded
> resources during boot.
Merged to master as of cccf5d79de07844cf095b8f45146b92944d15c2e.
No doubt at some point somebody is going to go "huh" when running some
crazy simulator or broken machine, but I think I'm okay with that :)
OPAL Architect, IBM.
More information about the Skiboot