Changeset 8e0738e1 in rtems


Ignore:
Timestamp:
Aug 14, 2002, 11:08:04 PM (18 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
a50b011f
Parents:
5e39823
Message:

2002-08-14 Brett Swimley <brett.swimley@…>

  • cpu_asm.S: Per PR267, the _ISR_Handler() function never was modifying _ISR_Nest_level, and _Watchdog_Insert() requires this variable to be modified to determine if an interrupt may have modified the watchdog chain. Prior to modifying _ISR_Handler(), I had a test that would fail if _ISR_Flash was not commented out in _Watchdog_Insert(). After this modification was made, my test ran flawlessly.
Location:
cpukit/score/cpu/m68k
Files:
3 edited

Legend:

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

    r5e39823 r8e0738e1  
     12002-08-14      Brett Swimley <brett.swimley@aedinc.net>
     2
     3        * cpu_asm.S: Per PR267, the _ISR_Handler() function never was modifying
     4        _ISR_Nest_level, and _Watchdog_Insert() requires this variable
     5        to be modified to determine if an interrupt may have modified
     6        the watchdog chain.  Prior to modifying _ISR_Handler(), I had
     7        a test that would fail if _ISR_Flash was not commented out in
     8        _Watchdog_Insert().  After this modification was made, my test
     9        ran flawlessly.
     10
    1112002-08-05      Joel Sherrill <joel@OARcorp.com>
    212
  • cpukit/score/cpu/m68k/cpu_asm.S

    r5e39823 r8e0738e1  
    140140
    141141#if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 )
     142        tstl    SYM (_ISR_Nest_level)   | Interrupting an interrupt handler?
     143        bne     2f                      | Yes, just skip over stack switch code
    142144        movel   _CPU_Interrupt_stack_high,a0    | a0 now point just above interrupt stack
    143145        cmpl    _CPU_Interrupt_stack_low,a7     | stack below interrupt stack?
     
    152154#endif /* CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 */
    153155
     156        addql   #1,SYM(_ISR_Nest_level) | one nest level deeper
     157       
    154158        movel   SYM (_ISR_Vector_table),a0 | a0= base of RTEMS table
    155159#if ( M68K_HAS_PREINDEXING == 1 )
     
    166170
    167171#if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 )
     172        subql   #1,SYM(_ISR_Nest_level) | Reduce interrupt-nesting count
     173        bne     1f                      | Skip if return to interrupt
    168174        movel   _CPU_Interrupt_stack_high,a0
    169175        subql   #4,a0
     
    172178        movel   (a7),a7                 | Restore task stack pointer
    1731791:
     180#else
     181        subql   #1,SYM (_ISR_Nest_level) | one less nest level
    174182#endif /* CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 */
    175 
    176183        subql   #1,SYM (_Thread_Dispatch_disable_level)
    177184                                         | unnest multitasking
  • cpukit/score/cpu/m68k/rtems/score/cpu.h

    r5e39823 r8e0738e1  
    8585#define CPU_USE_DEFERRED_FP_SWITCH       TRUE
    8686
    87 #define CPU_PROVIDES_IDLE_THREAD_BODY    FALSE
     87#define CPU_PROVIDES_IDLE_THREAD_BODY    TRUE
    8888#define CPU_STACK_GROWS_UP               FALSE
    8989#define CPU_STRUCTURE_ALIGNMENT
     
    416416
    417417/* end of Context handler macros */
     418
     419/*
     420 *  _CPU_Thread_Idle_body
     421 *
     422 *  This routine is the CPU dependent IDLE thread body.
     423 *
     424 *  NOTE:  It need only be provided if CPU_PROVIDES_IDLE_THREAD_BODY
     425 *         is TRUE.
     426 */
     427
     428void _CPU_Thread_Idle_body( void );
    418429
    419430/*
Note: See TracChangeset for help on using the changeset viewer.