RTEMS  5.0.0
Data Structures | Macros | Functions
cpuimpl.h File Reference

CPU Port Implementation API. More...

#include <rtems/score/cpu.h>

Go to the source code of this file.

Data Structures

struct  CPU_Interrupt_frame
 Interrupt stack frame (ISF). More...
 

Macros

#define FRAME_LINK_SPACE   8
 
#define SRR0_FRAME_OFFSET   FRAME_LINK_SPACE
 
#define SRR1_FRAME_OFFSET   (SRR0_FRAME_OFFSET + PPC_REG_SIZE)
 
#define EXCEPTION_NUMBER_OFFSET   (SRR1_FRAME_OFFSET + PPC_REG_SIZE)
 
#define PPC_EXC_INTERRUPT_ENTRY_INSTANT_OFFSET   (EXCEPTION_NUMBER_OFFSET + 4)
 
#define EXC_CR_OFFSET   (EXCEPTION_NUMBER_OFFSET + 8)
 
#define EXC_XER_OFFSET   (EXC_CR_OFFSET + 4)
 
#define EXC_CTR_OFFSET   (EXC_XER_OFFSET + 4)
 
#define EXC_LR_OFFSET   (EXC_CTR_OFFSET + PPC_REG_SIZE)
 
#define PPC_EXC_INTERRUPT_FRAME_OFFSET   (EXC_LR_OFFSET + PPC_REG_SIZE)
 
#define PPC_EXC_GPR_OFFSET(gpr)   ((gpr) * PPC_GPR_SIZE + PPC_EXC_INTERRUPT_FRAME_OFFSET + PPC_REG_SIZE)
 
#define PPC_EXC_GPR3_PROLOGUE_OFFSET   PPC_EXC_GPR_OFFSET(3)
 
#define PPC_EXC_FRAME_SIZE   PPC_EXC_GPR_OFFSET(33)
 
#define CPU_INTERRUPT_FRAME_SIZE   (PPC_EXC_GPR_OFFSET(13) + PPC_STACK_RED_ZONE_SIZE)
 
#define GPR0_OFFSET   PPC_EXC_GPR_OFFSET(0)
 
#define GPR1_OFFSET   PPC_EXC_GPR_OFFSET(1)
 
#define GPR2_OFFSET   PPC_EXC_GPR_OFFSET(2)
 
#define GPR3_OFFSET   PPC_EXC_GPR_OFFSET(3)
 
#define GPR4_OFFSET   PPC_EXC_GPR_OFFSET(4)
 
#define GPR5_OFFSET   PPC_EXC_GPR_OFFSET(5)
 
#define GPR6_OFFSET   PPC_EXC_GPR_OFFSET(6)
 
#define GPR7_OFFSET   PPC_EXC_GPR_OFFSET(7)
 
#define GPR8_OFFSET   PPC_EXC_GPR_OFFSET(8)
 
#define GPR9_OFFSET   PPC_EXC_GPR_OFFSET(9)
 
#define GPR10_OFFSET   PPC_EXC_GPR_OFFSET(10)
 
#define GPR11_OFFSET   PPC_EXC_GPR_OFFSET(11)
 
#define GPR12_OFFSET   PPC_EXC_GPR_OFFSET(12)
 
#define GPR13_OFFSET   PPC_EXC_GPR_OFFSET(13)
 
#define GPR14_OFFSET   PPC_EXC_GPR_OFFSET(14)
 
#define GPR15_OFFSET   PPC_EXC_GPR_OFFSET(15)
 
#define GPR16_OFFSET   PPC_EXC_GPR_OFFSET(16)
 
#define GPR17_OFFSET   PPC_EXC_GPR_OFFSET(17)
 
#define GPR18_OFFSET   PPC_EXC_GPR_OFFSET(18)
 
#define GPR19_OFFSET   PPC_EXC_GPR_OFFSET(19)
 
#define GPR20_OFFSET   PPC_EXC_GPR_OFFSET(20)
 
#define GPR21_OFFSET   PPC_EXC_GPR_OFFSET(21)
 
#define GPR22_OFFSET   PPC_EXC_GPR_OFFSET(22)
 
#define GPR23_OFFSET   PPC_EXC_GPR_OFFSET(23)
 
#define GPR24_OFFSET   PPC_EXC_GPR_OFFSET(24)
 
#define GPR25_OFFSET   PPC_EXC_GPR_OFFSET(25)
 
#define GPR26_OFFSET   PPC_EXC_GPR_OFFSET(26)
 
#define GPR27_OFFSET   PPC_EXC_GPR_OFFSET(27)
 
#define GPR28_OFFSET   PPC_EXC_GPR_OFFSET(28)
 
#define GPR29_OFFSET   PPC_EXC_GPR_OFFSET(29)
 
#define GPR30_OFFSET   PPC_EXC_GPR_OFFSET(30)
 
#define GPR31_OFFSET   PPC_EXC_GPR_OFFSET(31)
 
#define CPU_PER_CPU_CONTROL_SIZE   0
 

Functions

void _CPU_Context_volatile_clobber (uintptr_t pattern)
 
void _CPU_Context_validate (uintptr_t pattern)
 
RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal (void)
 
RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation (void)
 

Detailed Description

CPU Port Implementation API.