Add a "while (1)" function around the hlt instruction to assure the
processor can't wake up from an interrupt.

Signed-off-by: Nils Jacobs <[email protected]>

This was suggested by Uwe Hermann. Thanks!
I also included the same patch for Geode LX.

Nils.
Index: src/northbridge/amd/gx2/pll_reset.c
===================================================================
--- src/northbridge/amd/gx2/pll_reset.c	(revision 6205)
+++ src/northbridge/amd/gx2/pll_reset.c	(working copy)
@@ -80,7 +80,9 @@
 	} else {
 		printk(BIOS_ERR, "Unsupported GX2_PROCESSOR_MHZ setting!\n");
 		post_code(POST_PLL_CPU_VER_FAIL);
-		__asm__ __volatile__("hlt\n");
+		while(1) {
+			__asm__ __volatile__("hlt\n");
+		}
 	}
 
 	/* clear the Bypass bit */
Index: src/northbridge/amd/lx/pll_reset.c
===================================================================
--- src/northbridge/amd/lx/pll_reset.c	(revision 6205)
+++ src/northbridge/amd/lx/pll_reset.c	(working copy)
@@ -61,7 +61,9 @@
 		/* You should never get here..... The chip has reset. */
 		printk(BIOS_ERR, "CONFIGURING PLL FAILURE\n");
 		post_code(POST_PLL_RESET_FAIL);
-		__asm__ __volatile__("hlt\n");
+		while(1) {
+			__asm__ __volatile__("hlt\n");
+		}
 
 	}
 	printk(BIOS_DEBUG, "PLL configured.\n");
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to