summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-11-13 15:48:20 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-11-13 15:48:20 +0000
commitdd1ad07b2c15d6102340136651e5c74e66421c37 (patch)
treead67fe18332512a13944347e192bc7b6f2debc10 /c/src/lib/libbsp
parent2002-11-13 Jay Monkman <jtm@smoothsmoothie.com> (diff)
downloadrtems-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/libbsp')
-rw-r--r--c/src/lib/libbsp/arm/shared/ChangeLog5
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_asm.S6
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_init.c1
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