This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: sa11x0 spurious interrupts
- To: Robin Farine <acnrf at dial dot eunet dot ch>
- Subject: Re: [ECOS] sa11x0 spurious interrupts
- From: Jonathan Larmour <jlarmour at redhat dot com>
- Date: Tue, 13 Feb 2001 17:18:25 +0000
- Cc: ecos-discuss at sources dot redhat dot com
- Organization: Red Hat UK Ltd.
- References: <867l2vuel3.fsf@halftrack.hq.acn-group.ch>
Robin Farine wrote:
>
> Hello,
>
> While looking at the way the sa11x0 hal's routine 'hal_IRQ_handler()' decodes
> interrupt sources, I noticed that when it does not find an interrupt source,
> the routine returns CYGNUM_HAL_INTERRUPT_NONE, which equals to -1 for this
> platform. However, the common ARM code in "vectors.S" assumes that a spurious
> interrupt always have the vector #0. And worse, 'handle_IRQ_or_FIQ' will call
> 'hal_interrupt_handlers[-1]' which contains 0 and thus reboot!
>
> Did I miss something?
I don't think so. 0 can be a valid ISR. What's worse is that the default
ISR in hal/common also returns 0 to indicate a spurious interrupt.
Anyone got any opinions why this isn't simply all wrong?
Jifl
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine