From dd1ad07b2c15d6102340136651e5c74e66421c37 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 13 Nov 2002 15:48:20 +0000 Subject: 2002-11-13 Jay Monkman * 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. --- c/src/lib/libbsp/arm/shared/ChangeLog | 5 +++++ c/src/lib/libbsp/arm/shared/irq/irq_asm.S | 6 ++++++ c/src/lib/libbsp/arm/shared/irq/irq_init.c | 1 - 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'c/src/lib/libbsp') 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 + + * 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 * 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 #include #include -#include /* * default int vector -- cgit v1.2.3