Bari Ari wrote:
Even if you had the proper PCI bridge setup the SBC would not be able to access the motherboard's flash since the motherboard's BIOS (in your example) is bad so the motherboard's hardware would not be properly initialized to handle the transaction.
Well, at least from the host (CPU) 's prespective, the BIOS is the one thing that must be configured at power on reset.
You're right though, there's no guarantee that a PCI master/bridge could access the BIOS without the host initializing things.
My current thought is to do it the other way around, to have a PCI target on a plugin adapter, that decodes the BIOS region. At least on the i8xx ICH/ICH2, the southbridge powers up in subtractive decode mode. The datasheets describe this specific scenario as being possible.
I haven't seen such a card on google, so i've been giving some thought to the following hacks:
Option A: This wouldn't allow flashing the bios on a dead board, but it would allow getting Linuxbios working 100% before committing to the point of no return (flashing the soldered in part):
Take a PCI NIC with a rom socket. put a switch on the PCI RESET# line. close the switch. boot from vendor bios. flash the NIC boot rom. set the NIC BAR to 0xffff0000. open the switch. reset the system. it will now use the NIC rom as the BIOS rom.
Option B:
As above, but set the BAR with the card in a working system. open the reset switch. keeping the card powered, put it in the dead system, and it should boot from the PCI card. Well there's some fantasy involved in this one :)
Cheers,
Jeremy