<html>
  <head>

  </head>
  <body style="line-height: normal; font-size: 10pt; margin-right: 4px; font-family: Dialog; font-weight: normal; font-variant: normal; font-style: normal; margin-left: 4px; margin-bottom: 1px; margin-top: 4px">
    <p style="margin-bottom: 0; margin-top: 0">
      <font face="Dialog" size="2">Yes, that takes care of the problem as well.</font>    </p>
    <p style="margin-bottom: 0; margin-top: 0">
      <font face="Dialog" size="2">Bruce</font><br><br><SPAN STYLE='FONT-SIZE:"0px"'><span style="font-size: 0px">>>> </span></SPAN>On 3/9/2010 at 10:13 PM, Kevin O'Connor <kevin@koconnor.net> wrote:<br>    </p>
    <table bgcolor="#f3f3f3" border="0" style="margin-right: 0; font-size: 1em; margin-bottom: 0; margin-left: 15px; margin-top: 0">
      <tr>
        <td>
          <div style="border-left: solid 1px #050505; padding-left: 7px">
            <p style="margin-bottom: 0; margin-top: 0">
              On Tue, Mar 09, 2010 at 08:36:11PM -0700, Bruce Rogers wrote:<br>> The gcc 4.5 compiler is optimizing out some code used to bring up<br>> auxillary processors. Adding volatile to the auxillary processor<br>> jump trampoline memory references gets the bios able to boot with<br>> -smp >1 again.<br><br>Thanks.  Does the following alternate patch work?<br><br>--- a/src/smp.c<br>+++ b/src/smp.c<br>@@ -103,6 +103,7 @@ smp_probe(void)<br>     }<br><br>     // broadcast SIPI<br>+    barrier();<br>     writel(APIC_ICR_LOW, 0x000C4500);<br>     u32 sipi_vector = BUILD_AP_BOOT_ADDR >> 12;<br>     writel(APIC_ICR_LOW, 0x000C4600 | sipi_vector);<br>
            </p>
          </div>
        </td>
      </tr>
    </table>
  </body>
</html>