From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12381 invoked by alias); 2 Apr 2008 21:12:14 -0000 Received: (qmail 12359 invoked by uid 22791); 2 Apr 2008 21:12:10 -0000 X-Spam-Check-By: sourceware.org Received: from main.gmane.org (HELO ciao.gmane.org) (80.91.229.2) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 02 Apr 2008 21:11:45 +0000 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1JhAF8-0002tJ-3k for ecos-discuss@sources.redhat.com; Wed, 02 Apr 2008 21:11:38 +0000 Received: from c-76-17-159-23.hsd1.mn.comcast.net ([76.17.159.23]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 02 Apr 2008 21:11:38 +0000 Received: from grante by c-76-17-159-23.hsd1.mn.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 02 Apr 2008 21:11:38 +0000 To: ecos-discuss@sources.redhat.com From: Grant Edwards Date: Wed, 02 Apr 2008 21:12:00 -0000 Message-ID: References: <200804022125.19510.neundorf@kde.org> <20080402193008.GE7929@lunn.ch> <20080402194632.GH7929@lunn.ch> User-Agent: slrn/0.9.8.1pl1 (Linux) 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: [ECOS] Re: On ARM7 can one of FIQ/IRQ be used for non-eCos stuff? X-SW-Source: 2008-04/txt/msg00031.txt.bz2 On 2008-04-02, Andrew Lunn wrote: > On Wed, Apr 02, 2008 at 07:36:21PM +0000, Grant Edwards wrote: >> On 2008-04-02, Andrew Lunn wrote: >> >> >> Yes. I think providing an official way how to use the FIQ with >> >> lowest possible overhead under eCos would be good. Some kind >> >> of communication with eCos is required I think, e.g. a >> >> recommended way how to generate a regular interrupt so that if >> >> some condition is detected in the FIQ handler a regular ISR >> >> can overtake. >> > >> > I've done this before, but it used hardware support. >> > >> > The Intel StrongARM interrupt controller had a bit you could >> > set to cause an IRQ interrupt to happen. So in the FIQ you hit >> > this bit and exit the FIQ. Once interrupts are re-enabled the >> > IRQ goes off and you are in normal eCos interrupt context. >> >> How did eCos know where the interrupt came from? Did that bit >> you set have it's own unique hardware-generated ID value? > > Yep. CYGNUM_HAL_INTERRUPT_SOFT_IRQ, So you just register an interrupt > handler for this as normal. When the interrupt fires the interrupt > controller say a soft IRQ has gone off when hal_IRQ_handler() asks it. That's pretty much ideal. I don't remember seeing a feature like that on my part, but I believe I can manually set the interrupt request flag for one of the unused external interrupt/port pins. -- Grant Edwards grante Yow! Could I have a drug at overdose? visi.com -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss