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.
This commit is contained in:
Joel Sherrill
2009-03-12 14:18:32 +00:00
parent 1ba9d1bb5c
commit 01d1ae3610
4 changed files with 24 additions and 6 deletions

View File

@@ -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-03-02 Ray Xu <rayx.cn@gmail.com>
* shared/irq/irq_asm.S: Newer compilers handle alignment better.

View File

@@ -79,13 +79,13 @@ _ISR_Handler:
/* If a task switch is necessary, call scheduler */
ldr r0, =_Context_Switch_necessary
ldr r1, [r0]
ldrb r1, [r0]
cmp r1, #0
/* since bframe is going to clear _ISR_Signals_to_thread_executing, */
/* we need to load it here */
ldr r0, =_ISR_Signals_to_thread_executing
ldr r1, [r0]
ldrb r1, [r0]
bne bframe
/* If a signals to be sent (_ISR_Signals_to_thread_executing != 0), */
@@ -95,7 +95,7 @@ _ISR_Handler:
/* _ISR_Signals_to_thread_executing = FALSE */
mov r1, #0
str r1, [r0]
strb r1, [r0]
bframe:

View File

@@ -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-03-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/clock/clock.c: Standard decrementer exception is now more

View File

@@ -292,16 +292,16 @@ nested:
* do something with the current thread...
*/
addis r4, 0, _Context_Switch_necessary@ha
lwz r5, _Context_Switch_necessary@l(r4)
lbz r5, _Context_Switch_necessary@l(r4)
cmpwi r5, 0
bne switch
addis r6, 0, _ISR_Signals_to_thread_executing@ha
lwz r7, _ISR_Signals_to_thread_executing@l(r6)
lbz r7, _ISR_Signals_to_thread_executing@l(r6)
cmpwi r7, 0
li r8, 0
beq easy_exit
stw r8, _ISR_Signals_to_thread_executing@l(r6)
stb r8, _ISR_Signals_to_thread_executing@l(r6)
/*
* going to call _ThreadProcessSignalsFromIrq
* Push a complete exception like frame...