This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
Re: on ARM: Using the FIQ vector
- To: "Hugo 'NOx' Tyson" <hmt at cygnus dot co dot ukx>
- Subject: Re: [ECOS] on ARM: Using the FIQ vector
- From: Dan Hovang <dan dot hovang at cpen dot com>
- Date: Fri, 28 Jan 2000 16:37:55 +0100
- CC: ecos-discuss at sourceware dot cygnus dot com
- Organization: CTechnologies AB
- References: <38919E4A.8FE2D7D1@cpen.com> <ptu2jymec1.fsf@masala.cygnus.co.uk>
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