diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-11-13 15:48:20 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-11-13 15:48:20 +0000 |
commit | dd1ad07b2c15d6102340136651e5c74e66421c37 (patch) | |
tree | ad67fe18332512a13944347e192bc7b6f2debc10 /c/src/lib | |
parent | 2002-11-13 Jay Monkman <jtm@smoothsmoothie.com> (diff) | |
download | rtems-dd1ad07b2c15d6102340136651e5c74e66421c37.tar.bz2 |
2002-11-13 Jay Monkman <jtm@smoothsmoothie.com>
* irq/irq_asm.S, irq/irq_init.c: Fixes a bug with handling the
situation where we are processing an IRQ, and we receive an FIQ.
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/irq/irq_asm.S | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/irq/irq_init.c | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/shared/ChangeLog b/c/src/lib/libbsp/arm/shared/ChangeLog index 80c880f3b4..bbedc4a9f4 100644 --- a/c/src/lib/libbsp/arm/shared/ChangeLog +++ b/c/src/lib/libbsp/arm/shared/ChangeLog @@ -1,3 +1,8 @@ +2002-11-13 Jay Monkman <jtm@smoothsmoothie.com> + + * irq/irq_asm.S, irq/irq_init.c: Fixes a bug with handling the + situation where we are processing an IRQ, and we receive an FIQ. + 2002-10-04 Jay Monkman <jtm@smoothsmoothie.com> * irq/irq_asm.S: Add FIQ support. diff --git a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S index ddde872d94..a3009d1be3 100644 --- a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S +++ b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S @@ -62,6 +62,12 @@ _ISR_Handler: cmp r0, #0x12 /* is it INT mode? */ beq exitit +/* check to see if we interrupted nd INT (with FIQ?) */ + mrs r0, spsr + and r0, r0, #0x1f + cmp r0, #0x12 /* is it INT mode? */ + beq exitit + /* If thread dispatching is disabled, exit */ cmp r1, #0 bne exitit diff --git a/c/src/lib/libbsp/arm/shared/irq/irq_init.c b/c/src/lib/libbsp/arm/shared/irq/irq_init.c index ba120cb334..74fce89778 100644 --- a/c/src/lib/libbsp/arm/shared/irq/irq_init.c +++ b/c/src/lib/libbsp/arm/shared/irq/irq_init.c @@ -16,7 +16,6 @@ #include <irq.h> #include <bsp.h> #include <rtems/bspIo.h> -#include <registers.h> /* * default int vector |