From 0067feb6930cb9af6d9c1607baf7fa536fb2a48c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 12 Mar 2009 14:16:50 +0000 Subject: 2009-03-12 Joel Sherrill PR 1385/cpukit * cpu_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. --- cpukit/score/cpu/sparc/cpu_asm.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cpukit/score/cpu/sparc/cpu_asm.S') diff --git a/cpukit/score/cpu/sparc/cpu_asm.S b/cpukit/score/cpu/sparc/cpu_asm.S index 56a1fc3b6a..119d3b0228 100644 --- a/cpukit/score/cpu/sparc/cpu_asm.S +++ b/cpukit/score/cpu/sparc/cpu_asm.S @@ -665,7 +665,7 @@ dont_fix_pil2: * return to the interrupt dispatcher. */ - ld [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5 + ldub [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5 orcc %l5, %g0, %g0 ! Is thread switch necessary? bnz SYM(_ISR_Dispatch) ! yes, then invoke the dispatcher @@ -677,7 +677,7 @@ dont_fix_pil2: * executing task. If so, we need to invoke the interrupt dispatcher. */ - ld [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7 + ldub [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7 orcc %l7, %g0, %g0 ! Were signals sent to the currently ! executing thread? @@ -734,11 +734,11 @@ isr_dispatch: */ sethi %hi(SYM(_Context_Switch_necessary)), %l4 - ld [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5 + ldub [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5 ! NOTE: Use some of delay slot to start loading this sethi %hi(SYM(_ISR_Signals_to_thread_executing)), %l6 - ld [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7 + ldub [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7 orcc %l5, %g0, %g0 ! Is thread switch necessary? bnz dispatchAgain ! yes, then invoke the dispatcher AGAIN -- cgit v1.2.3