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>Manoj<br><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:linuxppc-dev@ozlabs.org"></a>