<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>Hi,<br><br>We use linux kernel 2.4.20 on ppc405 and the system hangs once in a while when isync gets called in this function:
<br><br>_GLOBAL(_nmask_and_or_msr)<br> mfmsr r0 /* Get current msr */<br> andc r0,r0,r3 /* And off the bits set in r3 (first parm) */
<br> or r0,r0,r4 /* Or on the bits in r4 (second parm) */<br> sync /* Some chip revs have problems here... */<br> isync<br> mtmsr r0 /* Update machine state */<br> isync<br> blr /* Done */
<br><br> 2.5 onwards, I find that "sync; isync" has been replaced by a macro SYNC (defined only for 601). I don't find it in any changelog and reason for the change.<br><br>Can someone give some information on this change?
<br><br>Appreciate any help.<br></div><div><span class="sg">Manoj<br><br><a href="mailto:linuxppc-dev@ozlabs.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"></a>
</span></div></blockquote></div><br>