diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2010-03-05 18:25:19 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2010-03-05 18:25:19 +0000 |
commit | f98ad3ace0852159c6e716a5563a9c3df8cf76f3 (patch) | |
tree | 0fe25602c3ac99c52ce10b45af3635a9a0e06d56 /src/northbridge | |
parent | 1b4f435281e20c6c71077c2985717d96ca43c8d4 (diff) |
i945 mini patch:
- don't skip the reset on S4 violations. Specs ask us to do this so we do it
- hlt on waiting for reset instead of hot looping.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5190 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/northbridge')
-rw-r--r-- | src/northbridge/intel/i945/raminit.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/northbridge/intel/i945/raminit.c b/src/northbridge/intel/i945/raminit.c index 235375673d..f65ccfaf42 100644 --- a/src/northbridge/intel/i945/raminit.c +++ b/src/northbridge/intel/i945/raminit.c @@ -236,8 +236,9 @@ static void sdram_detect_errors(void) if (reg8 & ((1<<7)|(1<<2))) { if (reg8 & (1<<2)) { printk_debug("SLP S4# Assertion Width Violation.\n"); - + /* Write back clears bit 2 */ pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xa2, reg8); + do_reset = 1; } @@ -257,7 +258,7 @@ static void sdram_detect_errors(void) printk_debug("Reset required.\n"); outb(0x00, 0xcf9); outb(0x0e, 0xcf9); - for (;;) ; /* Wait for reset! */ + for (;;) asm("hlt"); /* Wait for reset! */ } } |