Mercurial > ecos
diff packages/hal/arm/arch/current/include/hal_arch.h @ 3173:afb59e9b7339
* cdl/hal_arm.cdl: Add CDL to control whether both IRQs and FIQs
are disabled in critical sections, or only IRQs. The default is to
disable both and translate any FIQs into IRQs for delivery. The
alternative is for FIQs to essentially exist outside eCos.
* include/hal_arch.h (CPSR_THREAD_INITIAL):
* include/hal_intr.h (CPSR_INTR_MASK, HAL_*_INTERRUPTS)
(HAL_*_FIQ): Add definitions for separating FIQ from IRQ.
* src/hal_mk_defs.c (main):
* src/vectors.S (start, FIQ, IRQ, spurious_IRQ):
(hal_*_interrupts, hal_*_FIQ, __fiq_stack_base): Add support for
separating FIQ from IRQ in critical section processing.
| author | nickg |
|---|---|
| date | Fri, 11 May 2012 10:24:33 +0000 |
| parents | 74dbf4c3f2e1 |
| children |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/include/hal_arch.h +++ b/packages/hal/arm/arch/current/include/hal_arch.h @@ -88,8 +88,11 @@ #define CPSR_MODE_BITS 0x1F #define CPSR_INITIAL (CPSR_IRQ_DISABLE|CPSR_FIQ_DISABLE|CPSR_SUPERVISOR_MODE) +#ifdef CYGOPT_HAL_ARM_FIQ_DISABLE #define CPSR_THREAD_INITIAL (CPSR_SUPERVISOR_MODE) - +#else +#define CPSR_THREAD_INITIAL (CPSR_SUPERVISOR_MODE|CPSR_FIQ_DISABLE) +#endif // // Vector table offsets //
