<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>