From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.199]) by ozlabs.org (Postfix) with ESMTP id 67D5A67B6E for ; Wed, 20 Sep 2006 11:16:08 +1000 (EST) Received: by nz-out-0102.google.com with SMTP id i1so22653nzh for ; Tue, 19 Sep 2006 18:16:06 -0700 (PDT) Message-ID: Date: Tue, 19 Sep 2006 18:16:06 -0700 From: "Manoj Sharma" To: linuxppc-dev@ozlabs.org Subject: Re: Hang with isync In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_166402_9291112.1158714966210" References: List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , ------=_Part_166402_9291112.1158714966210 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline > > Hi, > > We use linux kernel 2.4.20 on ppc405 and the system hangs once in a while > when isync gets called in this function: > > _GLOBAL(_nmask_and_or_msr) > mfmsr r0 /* Get current msr */ > andc r0,r0,r3 /* And off the bits set in r3 (first parm) */ > or r0,r0,r4 /* Or on the bits in r4 (second parm) */ > sync /* Some chip revs have problems here... */ > isync > mtmsr r0 /* Update machine state */ > isync > blr /* Done */ > > 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. > > Can someone give some information on this change? > > Appreciate any help. > Manoj > > > ------=_Part_166402_9291112.1158714966210 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline
Hi,

We use linux kernel 2.4.20 on ppc405 and the system hangs once in a while when isync gets called in this function:

_GLOBAL(_nmask_and_or_msr)
    mfmsr   r0      /* Get current msr */
    andc    r0,r0,r3    /* And off the bits set in r3 (first parm) */
    or  r0,r0,r4    /* Or on the bits in r4 (second parm) */
    sync            /* Some chip revs have problems here... */
    isync
    mtmsr   r0      /* Update machine state */
    isync
    blr         /* Done */

 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.

Can someone give some information on this change?

Appreciate any help.
Manoj


------=_Part_166402_9291112.1158714966210--