This is the mail archive of the
ecos-bugs@sources.redhat.com
mailing list for the eCos project.
[Bug 1000143] New: IRQ handler returns wrong vector number
- From: bugzilla at ecoscentric dot com
- To: ecos-bugs at sources dot redhat dot com
- Date: Wed, 2 Feb 2005 10:11:27 +0000 (GMT)
- Subject: [Bug 1000143] New: IRQ handler returns wrong vector number
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1000143
Summary: IRQ handler returns wrong vector number
Product: eCos
Version: CVS
Platform: vpb926ejs (RealView Versatile ARM926EJ-S board)
OS/Version: ARM
Status: UNCONFIRMED
Severity: major
Priority: normal
Component: HAL
AssignedTo: jifl@ecoscentric.com
ReportedBy: ivan.djelic@parrot.fr
QAContact: ecos-bugs@sources.redhat.com
When the primary VIC interrupt vector is 31 (CYGNUM_HAL_INTERRUPT_FPGA), the
interrupt vector is read from the SIC status register. It is then returned as
is, being in the range [0..31] instead of [32..63]:
int hal_IRQ_handler(void)
{
cyg_uint32 mask, vec;
HAL_READ_UINT32(VPB926EJS_VIC+_VIC_ISR, mask);
HAL_LSBIT_INDEX( vec, mask );
if( vec == CYGNUM_HAL_INTERRUPT_FPGA )
{
HAL_READ_UINT32(VPB926EJS_SIC+_SIC_ISR, mask);
HAL_LSBIT_INDEX( vec, mask );
>>> // the following line is missing
>>> vec += 32;
}
return vec;
}
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.