diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-29 00:34:00 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-29 00:34:00 +0000 |
commit | 6d42b4c60a4ac686489b793d5df2047c735c7c94 (patch) | |
tree | 5f8d9f59891f94ecdece01e44100a0bfd56a2e22 /cpukit/score/cpu/avr | |
parent | 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-6d42b4c60a4ac686489b793d5df2047c735c7c94.tar.bz2 |
2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit
* cpu_asm.S, rtems/score/cpu.h: Add a per cpu data structure which
contains the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
Diffstat (limited to 'cpukit/score/cpu/avr')
-rw-r--r-- | cpukit/score/cpu/avr/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/score/cpu/avr/cpu_asm.S | 5 | ||||
-rw-r--r-- | cpukit/score/cpu/avr/rtems/score/cpu.h | 20 |
3 files changed, 10 insertions, 23 deletions
diff --git a/cpukit/score/cpu/avr/ChangeLog b/cpukit/score/cpu/avr/ChangeLog index 772c4902bc..0bc3987dbd 100644 --- a/cpukit/score/cpu/avr/ChangeLog +++ b/cpukit/score/cpu/avr/ChangeLog @@ -1,3 +1,11 @@ +2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com> + + PR 1573/cpukit + * cpu_asm.S, rtems/score/cpu.h: Add a per cpu data structure which + contains the information required by RTEMS for each CPU core. This + encapsulates information such as thread executing, heir, idle and + dispatch needed. + 2010-05-10 Joel Sherrill <joel.sherrilL@OARcorp.com> * Makefile.am, cpu_asm.S, avr/boot.h, avr/common.h, avr/crc16.h, diff --git a/cpukit/score/cpu/avr/cpu_asm.S b/cpukit/score/cpu/avr/cpu_asm.S index dcff8856df..688e2e76c4 100644 --- a/cpukit/score/cpu/avr/cpu_asm.S +++ b/cpukit/score/cpu/avr/cpu_asm.S @@ -28,6 +28,7 @@ #include <rtems/asm.h> #include <avr/sfr_defs.h> +#include <rtems/score/percpu.h> #define jmpb_hi r25 @@ -438,11 +439,9 @@ void _ISR_Handler(void) * goto the label "exit interrupt (simple case)" * * if ( _Thread_Dispatch_disable_level ) - * _ISR_Signals_to_thread_executing = FALSE; * goto the label "exit interrupt (simple case)" * - * if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) { - * _ISR_Signals_to_thread_executing = FALSE; + * if ( _Context_Switch_necessary ) { * call _Thread_Dispatch() or prepare to return to _ISR_Dispatch * prepare to get out of interrupt * return from interrupt (maybe to _ISR_Dispatch) diff --git a/cpukit/score/cpu/avr/rtems/score/cpu.h b/cpukit/score/cpu/avr/rtems/score/cpu.h index ab26ad9d1e..3b9281ff3c 100644 --- a/cpukit/score/cpu/avr/rtems/score/cpu.h +++ b/cpukit/score/cpu/avr/rtems/score/cpu.h @@ -456,26 +456,6 @@ typedef struct { SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /* - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. - * - * NOTE: These two variables are required if the macro - * CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. - * - * AVR Specific Information: - * - * XXX document implementation including references if appropriate - */ - -SCORE_EXTERN void *_CPU_Interrupt_stack_low; -SCORE_EXTERN void *_CPU_Interrupt_stack_high; - -/* * Nothing prevents the porter from declaring more CPU specific variables. * * AVR Specific Information: |