2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>

PR 1385/cpukit
	* 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:28 +00:00
parent d2c730f846
commit 1ba9d1bb5c
6 changed files with 36 additions and 9 deletions

View File

@@ -1,3 +1,12 @@
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit
* 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-26 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/cpu.c: Now compiles. Does not run.

View File

@@ -83,13 +83,13 @@ PUBLIC_ARM_FUNCTION(_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), */
@@ -99,7 +99,7 @@ PUBLIC_ARM_FUNCTION(_ISR_Handler)
/* _ISR_Signals_to_thread_executing = FALSE */
mov r1, #0
str r1, [r0]
strb r1, [r0]
bframe:
/* Now we need to set up the return from this ISR to be _ISR_Dispatch */

View File

@@ -1,3 +1,12 @@
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit
* 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.
2008-12-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* bsp_specs: Move -e start from *link to *startfile to avoid warning

View File

@@ -268,16 +268,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...

View File

@@ -1,3 +1,12 @@
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit
* 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-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* startup/bspstart.c: Change prototype of IDLE thread to consistently

View File

@@ -226,16 +226,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...