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

Re: on ARM: Using the FIQ vector


Hugo 'NOx' Tyson wrote:
> 
> Put another way:
> 
>  o short-term masking of *all* interrupts is done using the CPU
> register, and you shouldn't let a thread that has done this sleep
> whilst interrupts are disabled.  (Macros with ENABLE/DISABLE/RESTORE
> in them)

We need to be able to let the FIQ be enabled constantly, no exceptions.
I've removed the eCos FIQ code and rely on the IRQ to handle any timer
(scheduling) and devicedriver IRQ's. The goal is that it should be
enough to disable the IRQ in any critical sections of the kernel and
completely leave the FIQ to the application.

> It just *happens* that the CPU reg is preserved rather than always
> re-enabled in load_context, because it doesn't really matter.

It does to me, I think ... :-)

/Dan

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