Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Ticket #578: pr578.diff

File pr578.diff, 1013 bytes (added by Joel Sherrill, on 12/03/06 at 13:31:13)

pr578.diff

  • cpu_asm.S

    RCS file: /usr1/CVS/rtems/cpukit/score/cpu/sparc/cpu_asm.S,v
    retrieving revision 1.8.2.1
    diff -u -r1.8.2.1 cpu_asm.S
     
    684684        call    SYM(_Thread_Dispatch), 0
    685685        nop
    686686
     687        /*
     688         *  We invoked _Thread_Dispatch in a state similar to the interrupted
     689         *  task.  In order to safely be able to tinker with the register
     690         *  windows and get the task back to its pre-interrupt state,
     691         *  we need to disable interrupts disabled so we can safely tinker
     692         *  with the register windowing.  In particular, the CWP in the PSR
     693         *  is fragile during this period. (See PR578.)
     694         */
     695        mov     2,%g1                           ! syscall (disable interrupts)
     696        ta      0                               ! syscall (disable interrupts)
     697
    687698        /*
    688699         *  The CWP in place at this point may be different from
    689700         *  that which was in effect at the beginning of the ISR if we