This is the mail archive of the ecos-bugs@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]