Changeset 0067feb in rtems


Ignore:
Timestamp:
Mar 12, 2009, 2:16:50 PM (10 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, master
Children:
d2c730f8
Parents:
fb0a7e9
Message:

2009-03-12 Joel Sherrill <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.
Location:
cpukit/score/cpu
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/cpu/bfin/ChangeLog

    rfb0a7e9 r0067feb  
     12009-03-12      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        PR 1385/cpukit
     4        * cpu_asm.S: When the type rtems_boolean was switched to the C99 bool,
     5        the size changed from 4 bytes to 1 byte. The interrupt dispatching
     6        code accesses two boolean variables for scheduling purposes and the
     7        assembly implementations of this code did not get updated.
     8
    192009-02-12      Joel Sherrill <joel.sherrill@oarcorp.com>
    210
  • cpukit/score/cpu/bfin/cpu_asm.S

    rfb0a7e9 r0067feb  
    475475noStackRestore:
    476476
    477         /* check this stuff to insure context_switch_necessary and
     477        /* check this stuff to ensure context_switch_necessary and
    478478           isr_signals_to_thread_executing are being handled appropriately. */
    479479        p0.h = __Thread_Dispatch_disable_level;
     
    488488        p0.h = __Context_Switch_necessary;
    489489        p0.l = __Context_Switch_necessary;
    490         r0 = [p0];
     490        r0 = B[p0] (Z);
    491491        cc = r0 == 0;
    492492        p0.h = __ISR_Signals_to_thread_executing;
    493493        p0.l = __ISR_Signals_to_thread_executing;
    494494        if !cc jump doDispatch
    495         r0 = [p0];
     495        r0 = B[p0] (Z);
    496496        cc = r0 == 0;
    497497        if cc jump noDispatch
    498498doDispatch:
    499499        r0 = 0;
    500         [p0] = r0;
     500        B[p0] = r0;
    501501        raise 15;
    502502noDispatch:
  • cpukit/score/cpu/h8300/ChangeLog

    rfb0a7e9 r0067feb  
     12009-03-12      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        PR 1385/cpukit
     4        * cpu_asm.S: When the type rtems_boolean was switched to the C99 bool,
     5        the size changed from 4 bytes to 1 byte. The interrupt dispatching
     6        code accesses two boolean variables for scheduling purposes and the
     7        assembly implementations of this code did not get updated.
     8
    192009-02-12      Joel Sherrill <joel.sherrill@oarcorp.com>
    210
  • cpukit/score/cpu/h8300/cpu_asm.S

    rfb0a7e9 r0067feb  
    149149        bne             exit
    150150       
    151         mov.l   @__Context_Switch_necessary,er1
     151        mov.b   @__Context_Switch_necessary,er1
    152152        bne             bframe          ; If yes then dispatch next task
    153153       
    154         mov.l   @__ISR_Signals_to_thread_executing,er1
     154        mov.b   @__ISR_Signals_to_thread_executing,er1
    155155        beq             exit            ; If no signals waiting
    156156
  • cpukit/score/cpu/m68k/ChangeLog

    rfb0a7e9 r0067feb  
     12009-03-12      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        PR 1385/cpukit
     4        * cpu_asm.S: When the type rtems_boolean was switched to the C99 bool,
     5        the size changed from 4 bytes to 1 byte. The interrupt dispatching
     6        code accesses two boolean variables for scheduling purposes and the
     7        assembly implementations of this code did not get updated.
     8
    192009-02-12      Joel Sherrill <joel.sherrill@oarcorp.com>
    210
  • cpukit/score/cpu/m68k/cpu_asm.S

    rfb0a7e9 r0067feb  
    338338  #endif
    339339#endif
    340         tstl    SYM (_Context_Switch_necessary)
     340        tstb    SYM (_Context_Switch_necessary)
    341341                                         | Is thread switch necessary?
    342342        bne.b   bframe                   | Yes, invoke dispatcher
    343343
    344         tstl    SYM (_ISR_Signals_to_thread_executing)
     344        tstb    SYM (_ISR_Signals_to_thread_executing)
    345345                                         | signals sent to Run_thread
    346346                                         |   while in interrupt handler?
    347347        beq.b   exit                     | No, then exit
    348348
    349 bframe: clrl    SYM (_ISR_Signals_to_thread_executing)
     349bframe: clrb    SYM (_ISR_Signals_to_thread_executing)
    350350                                         | If sent, will be processed
    351351#if ( M68K_HAS_SEPARATE_STACKS == 1 )
  • cpukit/score/cpu/mips/ChangeLog

    rfb0a7e9 r0067feb  
     12009-03-12      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        PR 1385/cpukit
     4        * cpu_asm.S: When the type rtems_boolean was switched to the C99 bool,
     5        the size changed from 4 bytes to 1 byte. The interrupt dispatching
     6        code accesses two boolean variables for scheduling purposes and the
     7        assembly implementations of this code did not get updated.
     8
    192009-02-12      Joel Sherrill <joel.sherrill@oarcorp.com>
    210
  • cpukit/score/cpu/mips/cpu_asm.S

    rfb0a7e9 r0067feb  
    585585ASM_EXTERN(_ISR_Nest_level,4)
    586586ASM_EXTERN(_Thread_Dispatch_disable_level,4)
    587 ASM_EXTERN(_Context_Switch_necessary,4)
    588 ASM_EXTERN(_ISR_Signals_to_thread_executing,4)
     587ASM_EXTERN(_Context_Switch_necessary,1)
     588ASM_EXTERN(_ISR_Signals_to_thread_executing,1)
    589589ASM_EXTERN(_Thread_Executing,4)
    590590       
     
    965965   *    goto the label "exit interrupt (simple case)"
    966966   */
    967         lw      t0,_Context_Switch_necessary
    968         lw      t1,_ISR_Signals_to_thread_executing
     967        lbu     t0,_Context_Switch_necessary
     968        lbu     t1,_ISR_Signals_to_thread_executing
    969969        NOP
    970970        or      t0,t0,t1
  • cpukit/score/cpu/sparc/ChangeLog

    rfb0a7e9 r0067feb  
     12009-03-12      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        PR 1385/cpukit
     4        * cpu_asm.S: When the type rtems_boolean was switched to the C99 bool,
     5        the size changed from 4 bytes to 1 byte. The interrupt dispatching
     6        code accesses two boolean variables for scheduling purposes and the
     7        assembly implementations of this code did not get updated.
     8
    192009-02-12      Joel Sherrill <joel.sherrill@oarcorp.com>
    210
  • cpukit/score/cpu/sparc/cpu_asm.S

    rfb0a7e9 r0067feb  
    666666         */
    667667
    668         ld       [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
     668        ldub     [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
    669669
    670670        orcc     %l5, %g0, %g0   ! Is thread switch necessary?
     
    678678         */
    679679
    680         ld       [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
     680        ldub     [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
    681681
    682682        orcc     %l7, %g0, %g0   ! Were signals sent to the currently
     
    735735
    736736        sethi    %hi(SYM(_Context_Switch_necessary)), %l4
    737         ld       [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
     737        ldub     [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
    738738
    739739        ! NOTE: Use some of delay slot to start loading this
    740740        sethi    %hi(SYM(_ISR_Signals_to_thread_executing)), %l6
    741         ld       [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
     741        ldub     [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
    742742
    743743        orcc     %l5, %g0, %g0   ! Is thread switch necessary?
Note: See TracChangeset for help on using the changeset viewer.