Re: Spurious interrupt on ARM.

Nick Garnett <[email protected]>
Newsgroups gmane.os.ecos.general
Message-ID <[email protected]>

On 31/10/13 17:15, Andrew Parlane wrote:
> Looking at hal/arm/arch/current/src/vectors.S in IRQ:
> 
> We increment the scheduler lock and decrement it again in interrupt_end.
> 
> In the case of there being a spurious interrupt, we don't call 
> interrupt_end, and so the scheduler never gets decremented.
> 
> Am I missing something here?

interrupt_end() does get called. A spurious interrupt only causes the
code to skip calling an ISR by jumping to the spurious_IRQ label. From
there it follows the same code path and will call interrupt_end() as normal.

-- 
Nick Garnett                                         Kernel Architect
eCosCentric Limited    http://www.eCosCentric.com    The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK.   Tel: +44 1223 245571
Registered in England and Wales:                      Reg No: 4422071

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.