summaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authorEric Biederman <ebiederm@xmission.com>2003-07-21 20:13:45 +0000
committerEric Biederman <ebiederm@xmission.com>2003-07-21 20:13:45 +0000
commit2c018fba95a5f40c4eaaa20421e8c893dffdb62e (patch)
tree3b6ecc6eb72d145dd70bb549fe0130370d7e40fb /src/boot
parent6d4512cdf976fc071720dbec686cf8a1a40f1db0 (diff)
- First pass at s2880 support.
- SMP cleanups (remove SMP only use CONFIG_SMP) - Minor tweaks to romcc to keep it from taking forever compiling - failover fixes - Get a good implementation of k8_cpufixup and sizeram for the opteron git-svn-id: svn://svn.coreboot.org/coreboot/trunk@998 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/hardwaremain.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/boot/hardwaremain.c b/src/boot/hardwaremain.c
index 1443727948..0477253ec4 100644
--- a/src/boot/hardwaremain.c
+++ b/src/boot/hardwaremain.c
@@ -68,8 +68,11 @@ static struct mem_range *get_ramsize(void)
mem = sizeram();
}
if (!mem) {
- printk_err("No memory size information!\n");
- for(;;);
+ printk_emerg("No memory size information!\n");
+ for(;;) {
+ /* Ensure this loop is not optimized away */
+ asm volatile("":/* outputs */:/*inputs */ :"memory");
+ }
}
return mem;
}
@@ -120,9 +123,9 @@ static void wait_for_other_cpus(void)
printk_debug("All AP CPUs stopped\n");
}
-#else /* SMP */
+#else /* CONIFG_SMP */
#define wait_for_other_cpus() do {} while(0)
-#endif /* SMP */
+#endif /* CONFIG_SMP */
void hardwaremain(int boot_complete)
{