From f98ad3ace0852159c6e716a5563a9c3df8cf76f3 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Fri, 5 Mar 2010 18:25:19 +0000 Subject: 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 Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5190 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/northbridge/intel/i945/raminit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/northbridge/intel/i945') 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! */ } } -- cgit v1.2.3