Test build for the multi-card stall reported on an ASRock H510 Pro BTC+ (four cards in slots 2/4/6/7, only the first one unlocked on v3.05). On-screen banners: v3.06-test FULL-NOGEN2 / v3.06-test compute-only.
Fixed: the last do_flr() on a card ran without restoring BAR0, unlike every other FLR site in the file. BAR0 comes back as 0, so on the next iteration the cold-boot probe on card 0 read MMIO from base 0, decided the card was still locked and pulled the card index back to 0. The cycle could never get past the first card, in the FULL and the compute build alike. The v3.04 reboot came from the same stuck card 0 walking the whole 37-entry table with BAR0 = 0.
Also fixed: the base pass advanced the card index before that card had its fire pass, so card 0 never got GFX_SPEED_SELECT (it is written in the fire branch only); and CMP90G2 was never cleared in the FULL_NOGEN2 build because its delete sat under #ifndef FULL_NOGEN2.
Assets
cmp90-unlock-v3.06-test.img— compute + GFX/render (FULL-NOGEN2). Recommended default.cmp90-unlock-v3.06-test-compute.img— compute-only.
Verify after flashing — image md5 and md5 of EFI/BOOT/BOOTX64.EFI inside it:
| file | image md5 | BOOTX64.EFI (inside) |
|---|---|---|
| cmp90-unlock-v3.06-test.img | da3b98df068b7b279a680ae998d8ccdb
| 1867599cb0be6b6ac9274cb2b691464e
|
| cmp90-unlock-v3.06-test-compute.img | a68da7f6234a90c5b2a91660c45881b4
| 1b43f88c76493b9d5b34181238dcc45a
|
Status: build only, not verified on hardware yet. Multi-card needs a board with several cards. If only the first card still unlocks, a photo of the screen would help: the lines to look at are MULTI-CARD: найдено ... and multi-card: BootNext -> Boot..., and whether a second iteration appears without a reboot.
Notes: Secure Boot must be off; the unlock is volatile (re-apply after every cold boot). Source is commit 7a2397c. The v3.05 release stays as the current stable build.