From b321b10e3d30e086705a2d31f66926b2efdf1f07 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 12 Mar 2009 14:33:05 +0000 Subject: 2009-03-12 Joel Sherrill 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. --- c/src/lib/libbsp/i386/ChangeLog | 9 +++++++++ c/src/lib/libbsp/i386/shared/irq/irq_asm.S | 6 +++--- 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 + + 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 * 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 -- cgit v1.2.3