From ffbeb6f6a382d3a7d2d406f4496d0259b7364854 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 18 Jan 2013 09:42:49 +0100 Subject: smp: Add PowerPC support --- cpukit/score/cpu/powerpc/rtems/score/cpu.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'cpukit/score/cpu/powerpc/rtems/score/cpu.h') diff --git a/cpukit/score/cpu/powerpc/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/rtems/score/cpu.h index 080c5bba34..fdb2886ca8 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/cpu.h +++ b/cpukit/score/cpu/powerpc/rtems/score/cpu.h @@ -472,7 +472,7 @@ typedef struct CPU_Interrupt_frame { * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. */ -#define CPU_ALLOCATE_INTERRUPT_STACK FALSE +#define CPU_ALLOCATE_INTERRUPT_STACK TRUE /* * Does the RTEMS invoke the user's ISR with the vector number and @@ -996,6 +996,21 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern ); void _CPU_Context_validate( uintptr_t pattern ); +#ifdef RTEMS_SMP + #define _CPU_Context_switch_to_first_task_smp( _context ) \ + _CPU_Context_restore( _context ) + + static inline void _CPU_Processor_event_broadcast( void ) + { + __asm__ volatile ( "" : : : "memory" ); + } + + static inline void _CPU_Processor_event_receive( void ) + { + __asm__ volatile ( "" : : : "memory" ); + } +#endif + typedef struct { uint32_t EXC_SRR0; uint32_t EXC_SRR1; -- cgit v1.2.3