I was surprised how easy it was to brick my board. These ideas might be useful to somebody:
Before you start messing with PCI & I/O values that might keep their state:
- have a lspci -vvvxxx from the factory BIOS - record as much of the boot process from the factory BIOS as possible
I wanted to collect the bit masks from my factory BIOS, so I modified the filter to return 0x0 and then 0xffffffff for the PCI registers. That way I could see which bits were being changed. After some of the registers were changed, I couldn't boot the board with Coreboot or the factory BIOS. I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Thanks, Myles
Myles Watson wrote:
I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Which device were the registers in?
//Peter
On Tue, Jul 6, 2010 at 4:00 PM, Peter Stuge peter@stuge.se wrote:
Myles Watson wrote:
I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Which device were the registers in?
The HyperTransport controller and the SMBUS controller, but there could be more. I stopped trying to get all the masks correctly when I saw how easy it was to break it.
Thanks, Myles
Hi,
Maybe you messed up the power well powered registers? Unplugging the AC power might help,
Thanks, Rudolf
On 07/06/2010 05:58 PM, Myles Watson wrote:
I was surprised how easy it was to brick my board. These ideas might be useful to somebody:
Before you start messing with PCI& I/O values that might keep their state:
- have a lspci -vvvxxx from the factory BIOS
- record as much of the boot process from the factory BIOS as possible
I wanted to collect the bit masks from my factory BIOS, so I modified the filter to return 0x0 and then 0xffffffff for the PCI registers. That way I could see which bits were being changed. After some of the registers were changed, I couldn't boot the board with Coreboot or the factory BIOS. I used SerialICE to set the PCI values to what they were in a saved run of the factory BIOS, and it booted again.
Wow that is interesting. Even after you disconnected power (ATX connector) and cmos battery it would still keeps those values?
Wow that is interesting. Even after you disconnected power (ATX connector) and cmos battery it would still keeps those values?
Since I could recover with SerialICE I didn't try it. I was surprised that the factory BIOS wouldn't set the values correctly, though.
Thanks, Myles
On 07/06/2010 06:39 PM, Myles Watson wrote:
Wow that is interesting. Even after you disconnected power (ATX connector) and cmos battery it would still keeps those values?
Since I could recover with SerialICE I didn't try it. I was surprised that the factory BIOS wouldn't set the values correctly, though.
I'm not. I have seen some factory bios' that have a sequence in the begining that goes through and writes a bunch of pci registers to their default values and some factory bios' that don't. The devices that keep those values must be strapped to a capacitor or the cmos battery.