summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:33:05 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:33:05 +0000
commitb321b10e3d30e086705a2d31f66926b2efdf1f07 (patch)
treeb8475bd92d5fc8f8eadd6058b512f3879b189164
parent2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-b321b10e3d30e086705a2d31f66926b2efdf1f07.tar.bz2
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit * shared/irq/irq_asm.S: When the type rtems_boolean was switched to the C99 bool, the size changed from 4 bytes to 1 byte. The interrupt dispatching code accesses two boolean variables for scheduling purposes and the assembly implementations of this code did not get updated.
-rw-r--r--c/src/lib/libbsp/i386/ChangeLog9
-rw-r--r--c/src/lib/libbsp/i386/shared/irq/irq_asm.S6
2 files changed, 12 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/i386/ChangeLog b/c/src/lib/libbsp/i386/ChangeLog
index c6f3d40459..28123b0694 100644
--- a/c/src/lib/libbsp/i386/ChangeLog
+++ b/c/src/lib/libbsp/i386/ChangeLog
@@ -1,3 +1,12 @@
+2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ PR 1385/cpukit
+ * shared/irq/irq_asm.S: When the type rtems_boolean was switched to the
+ C99 bool, the size changed from 4 bytes to 1 byte. The interrupt
+ dispatching code accesses two boolean variables for scheduling
+ purposes and the assembly implementations of this code did not get
+ updated.
+
2009-02-19 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/irq.c, shared/irq/irq.h, shared/irq/irq_asm.S: Add shared
diff --git a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S
index ad606c4de6..c8f3df3b5e 100644
--- a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S
+++ b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S
@@ -139,17 +139,17 @@ nested:
/* Is dispatch disabled */
jne .exit /* Yes, then exit */
- cmpl $0, SYM (_Context_Switch_necessary)
+ cmpb $0, SYM (_Context_Switch_necessary)
/* Is task switch necessary? */
jne .schedule /* Yes, then call the scheduler */
- cmpl $0, SYM (_ISR_Signals_to_thread_executing)
+ cmpb $0, SYM (_ISR_Signals_to_thread_executing)
/* signals sent to Run_thread */
/* while in interrupt handler? */
je .exit /* No, exit */
.bframe:
- movl $0, SYM (_ISR_Signals_to_thread_executing)
+ movb $0, SYM (_ISR_Signals_to_thread_executing)
/*
* This code is the less critical path. In order to have a single
* Thread Context, we take the same frame than the one pushed on