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>