[SeaBIOS] [PATCH] add volatile to code that gets optimized out

Bruce Rogers brogers at novell.com
Wed Mar 10 16:10:02 CET 2010


Yes, that takes care of the problem as well. 
Bruce

>>> On 3/9/2010 at 10:13 PM, Kevin O'Connor <kevin at koconnor.net> wrote:


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);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.seabios.org/pipermail/seabios/attachments/20100310/b1c5331c/attachment.htm>


More information about the SeaBIOS mailing list