- I found in my testing that you can do things to the north bridge
that will crash it in such a way that a reset does not fully fix. It's very sneaky, things just start behaving really weird and your code just seems to start failing for no good reason. But not so bad as to suspect that its hardware. Especially if you are doinking with the register settings at the time.
The only fix is to _remove_ power from the board.
Many chips have debug registers (often not documented in public literature) that seriously change the behaviour of the chip; and such debug registers are often not reset by a simple chip reset (which is a good thing really). Most shipping hardware (esp. "B" or later revs) doesn't need programming any of those registers for proper operation.
Segher