This is the mail archive of the ecos-discuss@sourceware.org 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]

Re: On ARM7 can one of FIQ/IRQ be used for non-eCos stuff?


On 2008-04-02, Paul D. DeRocco <pderocco@ix.netcom.com> wrote:
>> From: Grant Edwards
>>
>> That's easy enough, but it'd be trickier to provide a run-time
>> function to fix the places in vectors.S that are currently
>> disabling FIQ.
>
> I think the issue is that there are lots of small critical sections
> scattered all over the place that mask interrupts in the CPU, and they
> currently mask both IRQ and FIQ. For the ARM, HAL_*_INTERRUPTS uses 0xC0 to
> manipulate both these bits. If all eCos ISRs are invoked via IRQ, and FIQ is
> reserved for a special bit of driver code that merely adds functionality to
> a piece of hardware (like adding a FIFO to a serial port) without invoking a
> DSR, then these macros really ought to use 0x80 instead. That would be a
> useful CDL option.

Exactly.  We can leave the FIQ handler code there, and just
overried it by pointing the VSR table entry elsewhere. But, the
places (e.g. in vectors.S) that are disabling and enabling
FIQ+IRQ need to be changed so that they only disable/enable
the right one(s).

-- 
Grant Edwards                   grante             Yow! WHOA!!  Ken and Barbie
                                  at               are having TOO MUCH FUN!!
                               visi.com            It must be the NEGATIVE
                                                   IONS!!


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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