On Tue, Mar 09, 2010 at 08:36:11PM -0700, Bruce Rogers wrote:
The gcc 4.5 compiler is optimizing out some code used to bring up auxillary processors. Adding volatile to the auxillary processor jump trampoline memory references gets the bios able to boot with -smp >1 again.
Thanks. Does the following alternate patch work?
--- a/src/smp.c +++ b/src/smp.c @@ -103,6 +103,7 @@ smp_probe(void) }
// broadcast SIPI + barrier(); writel(APIC_ICR_LOW, 0x000C4500); u32 sipi_vector = BUILD_AP_BOOT_ADDR >> 12; writel(APIC_ICR_LOW, 0x000C4600 | sipi_vector);