forked from Imagelibrary/rtems
2011-02-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
* new-exceptions/bspsupport/vectors.h: Added defines PPC_EXC_GPR_TYPE, PPC_EXC_GPR_SIZE, PPC_EXC_GPR_OFFSET, PPC_EXC_MINIMAL_FRAME_SIZE, and PPC_EXC_FRAME_SIZE. Changed layout of BSP_Exception_frame.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2011-02-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* new-exceptions/bspsupport/vectors.h: Added defines PPC_EXC_GPR_TYPE,
|
||||
PPC_EXC_GPR_SIZE, PPC_EXC_GPR_OFFSET, PPC_EXC_MINIMAL_FRAME_SIZE, and
|
||||
PPC_EXC_FRAME_SIZE. Changed layout of BSP_Exception_frame.
|
||||
|
||||
2011-02-17 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* new-exceptions/bspsupport/vectors.h: Add extern "C" {}.
|
||||
|
||||
@@ -143,6 +143,12 @@ extern "C" {
|
||||
|
||||
/** @} */
|
||||
|
||||
#define PPC_EXC_GPR_TYPE unsigned
|
||||
#define PPC_EXC_GPR_SIZE 4
|
||||
#define PPC_EXC_GPR_OFFSET(gpr) ((gpr) * PPC_EXC_GPR_SIZE + 36)
|
||||
#define PPC_EXC_MINIMAL_FRAME_SIZE 96
|
||||
#define PPC_EXC_FRAME_SIZE 176
|
||||
|
||||
/**
|
||||
* @defgroup ppc_exc_frame PowerPC Exception Frame
|
||||
*
|
||||
@@ -157,47 +163,50 @@ extern "C" {
|
||||
* So let room for it!!!.
|
||||
*/
|
||||
#define LINK_REGISTER_CALLEE_UPDATE_ROOM 4
|
||||
|
||||
#define SRR0_FRAME_OFFSET 8
|
||||
#define SRR1_FRAME_OFFSET 12
|
||||
#define EXCEPTION_NUMBER_OFFSET 16
|
||||
#define GPR0_OFFSET 20
|
||||
#define GPR1_OFFSET 24
|
||||
#define GPR2_OFFSET 28
|
||||
#define GPR3_OFFSET 32
|
||||
#define GPR4_OFFSET 36
|
||||
#define GPR5_OFFSET 40
|
||||
#define GPR6_OFFSET 44
|
||||
#define GPR7_OFFSET 48
|
||||
#define GPR8_OFFSET 52
|
||||
#define GPR9_OFFSET 56
|
||||
#define GPR10_OFFSET 60
|
||||
#define GPR11_OFFSET 64
|
||||
#define GPR12_OFFSET 68
|
||||
#define GPR13_OFFSET 72
|
||||
#define GPR14_OFFSET 76
|
||||
#define GPR15_OFFSET 80
|
||||
#define GPR16_OFFSET 84
|
||||
#define GPR17_OFFSET 88
|
||||
#define GPR18_OFFSET 92
|
||||
#define GPR19_OFFSET 96
|
||||
#define GPR20_OFFSET 100
|
||||
#define GPR21_OFFSET 104
|
||||
#define GPR22_OFFSET 108
|
||||
#define GPR23_OFFSET 112
|
||||
#define GPR24_OFFSET 116
|
||||
#define GPR25_OFFSET 120
|
||||
#define GPR26_OFFSET 124
|
||||
#define GPR27_OFFSET 128
|
||||
#define GPR28_OFFSET 132
|
||||
#define GPR29_OFFSET 136
|
||||
#define GPR30_OFFSET 140
|
||||
#define GPR31_OFFSET 144
|
||||
#define EXC_CR_OFFSET 148
|
||||
#define EXC_CTR_OFFSET 152
|
||||
#define EXC_XER_OFFSET 156
|
||||
#define EXC_LR_OFFSET 160
|
||||
#define EXC_CR_OFFSET 20
|
||||
#define EXC_CTR_OFFSET 24
|
||||
#define EXC_XER_OFFSET 28
|
||||
#define EXC_LR_OFFSET 32
|
||||
#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 EXC_MSR_OFFSET PPC_EXC_GPR_OFFSET(32)
|
||||
#define EXC_DAR_OFFSET (4 + EXC_MSR_OFFSET)
|
||||
|
||||
#define EXC_GENERIC_SIZE 176
|
||||
#define EXC_GENERIC_SIZE PPC_EXC_FRAME_SIZE
|
||||
|
||||
#ifdef __ALTIVEC__
|
||||
#define EXC_VEC_OFFSET EXC_GENERIC_SIZE
|
||||
@@ -237,42 +246,42 @@ typedef struct {
|
||||
unsigned EXC_SRR0;
|
||||
unsigned EXC_SRR1;
|
||||
unsigned _EXC_number;
|
||||
unsigned GPR0;
|
||||
unsigned GPR1;
|
||||
unsigned GPR2;
|
||||
unsigned GPR3;
|
||||
unsigned GPR4;
|
||||
unsigned GPR5;
|
||||
unsigned GPR6;
|
||||
unsigned GPR7;
|
||||
unsigned GPR8;
|
||||
unsigned GPR9;
|
||||
unsigned GPR10;
|
||||
unsigned GPR11;
|
||||
unsigned GPR12;
|
||||
unsigned GPR13;
|
||||
unsigned GPR14;
|
||||
unsigned GPR15;
|
||||
unsigned GPR16;
|
||||
unsigned GPR17;
|
||||
unsigned GPR18;
|
||||
unsigned GPR19;
|
||||
unsigned GPR20;
|
||||
unsigned GPR21;
|
||||
unsigned GPR22;
|
||||
unsigned GPR23;
|
||||
unsigned GPR24;
|
||||
unsigned GPR25;
|
||||
unsigned GPR26;
|
||||
unsigned GPR27;
|
||||
unsigned GPR28;
|
||||
unsigned GPR29;
|
||||
unsigned GPR30;
|
||||
unsigned GPR31;
|
||||
unsigned EXC_CR;
|
||||
unsigned EXC_CTR;
|
||||
unsigned EXC_XER;
|
||||
unsigned EXC_LR;
|
||||
PPC_EXC_GPR_TYPE GPR0;
|
||||
PPC_EXC_GPR_TYPE GPR1;
|
||||
PPC_EXC_GPR_TYPE GPR2;
|
||||
PPC_EXC_GPR_TYPE GPR3;
|
||||
PPC_EXC_GPR_TYPE GPR4;
|
||||
PPC_EXC_GPR_TYPE GPR5;
|
||||
PPC_EXC_GPR_TYPE GPR6;
|
||||
PPC_EXC_GPR_TYPE GPR7;
|
||||
PPC_EXC_GPR_TYPE GPR8;
|
||||
PPC_EXC_GPR_TYPE GPR9;
|
||||
PPC_EXC_GPR_TYPE GPR10;
|
||||
PPC_EXC_GPR_TYPE GPR11;
|
||||
PPC_EXC_GPR_TYPE GPR12;
|
||||
PPC_EXC_GPR_TYPE GPR13;
|
||||
PPC_EXC_GPR_TYPE GPR14;
|
||||
PPC_EXC_GPR_TYPE GPR15;
|
||||
PPC_EXC_GPR_TYPE GPR16;
|
||||
PPC_EXC_GPR_TYPE GPR17;
|
||||
PPC_EXC_GPR_TYPE GPR18;
|
||||
PPC_EXC_GPR_TYPE GPR19;
|
||||
PPC_EXC_GPR_TYPE GPR20;
|
||||
PPC_EXC_GPR_TYPE GPR21;
|
||||
PPC_EXC_GPR_TYPE GPR22;
|
||||
PPC_EXC_GPR_TYPE GPR23;
|
||||
PPC_EXC_GPR_TYPE GPR24;
|
||||
PPC_EXC_GPR_TYPE GPR25;
|
||||
PPC_EXC_GPR_TYPE GPR26;
|
||||
PPC_EXC_GPR_TYPE GPR27;
|
||||
PPC_EXC_GPR_TYPE GPR28;
|
||||
PPC_EXC_GPR_TYPE GPR29;
|
||||
PPC_EXC_GPR_TYPE GPR30;
|
||||
PPC_EXC_GPR_TYPE GPR31;
|
||||
unsigned EXC_MSR;
|
||||
unsigned EXC_DAR;
|
||||
} BSP_Exception_frame;
|
||||
|
||||
Reference in New Issue
Block a user