From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29950 invoked by alias); 11 Sep 2007 14:19:10 -0000 Received: (qmail 29939 invoked by uid 22791); 11 Sep 2007 14:19:09 -0000 X-Spam-Check-By: sourceware.org Received: from londo.lunn.ch (HELO londo.lunn.ch) (80.238.139.98) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 11 Sep 2007 14:19:04 +0000 Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian)) id 1IV6Zs-0007QX-00; Tue, 11 Sep 2007 16:18:56 +0200 Date: Tue, 11 Sep 2007 14:19:00 -0000 From: Andrew Lunn To: ariga masahiro Cc: Andrew Lunn , ecos-discuss@ecos.sourceware.org Message-ID: <20070911141856.GG23980@lunn.ch> Mail-Followup-To: ariga masahiro , Andrew Lunn , ecos-discuss@ecos.sourceware.org References: <001701c7f383$91bcbfc0$1c0110ac@ariga> <20070910085235.GC19258@lunn.ch> <000801c7f41d$a6c00720$1c0110ac@ariga> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000801c7f41d$a6c00720$1c0110ac@ariga> User-Agent: Mutt/1.5.16 (2007-06-11) X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] How DSR is executed in interrupt ? X-SW-Source: 2007-09/txt/msg00055.txt.bz2 On Tue, Sep 11, 2007 at 11:44:18AM +0900, ariga masahiro wrote: > Hi, > > Thank you , Andrew,for your reply. > > Andrew wrote-- >> Are you sure the ISR is being called multiple times? > Definitely.Forever repeating. > >> This masks the interrupt. i.e. it should disable the interrupt >> controller from causing further interrupts from this source. The >> interrupt is usually unmasked in the delivery function once the >> hardware has been reprogrammed to de-assert the interrupt. Since you >> say the DSR is not getting called, i don't see how the interrupt can >> get unmasked and so i don't see how the ISR can be called again..... > You are right I'm confirmed doing masking in ISR. > >> This suggests that cyg_drv_interrupt_mask() is not working. It is not >> masking the interrupt. I would take a look at your HAL and check the >> interrupt handling code. > I studied cyg_drv_interrupt_mask() and learned it calls > packages\kernel\v2_0\src\intr\intr.cxx(614): > Cyg_Interrupt::mask_interrupt(cyg_vector vector) > But it's too complicated. > Is there any way (like diag_printf) I could check entering this class > function and working correctly ? > I couldn't break in this function in ICE. > > If this function is working properly , it's outside of ISR where unmasking > is executed. > Is it possible ISR returns in VSR and somewhere did unmask and entering > ISR repeatedly ? > Since DSR was never called,I think it's somewhere except DSR. Which SH processor do you have? Take a look at the code in sh*/current/src/var_misc.c:hal_interrupt_mask() I suspect the masking is not working correctly. >> As i've said before v2_0 is very old. It could be this has been fixed >> in newer code.... > I am desperately trying to revise source using WinCVS,but WinCVS > can't operate properly.I still am trying. You might have a firewall blocking access. Take a look at www.ecoscentric.com. They have daily snapshots of the CVS trunk. > Do I need to revise configtool also ? Nope. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss