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>
|
2011-02-17 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||||
|
|
||||||
* new-exceptions/bspsupport/vectors.h: Add extern "C" {}.
|
* 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
|
* @defgroup ppc_exc_frame PowerPC Exception Frame
|
||||||
*
|
*
|
||||||
@@ -157,47 +163,50 @@ extern "C" {
|
|||||||
* So let room for it!!!.
|
* So let room for it!!!.
|
||||||
*/
|
*/
|
||||||
#define LINK_REGISTER_CALLEE_UPDATE_ROOM 4
|
#define LINK_REGISTER_CALLEE_UPDATE_ROOM 4
|
||||||
|
|
||||||
#define SRR0_FRAME_OFFSET 8
|
#define SRR0_FRAME_OFFSET 8
|
||||||
#define SRR1_FRAME_OFFSET 12
|
#define SRR1_FRAME_OFFSET 12
|
||||||
#define EXCEPTION_NUMBER_OFFSET 16
|
#define EXCEPTION_NUMBER_OFFSET 16
|
||||||
#define GPR0_OFFSET 20
|
#define EXC_CR_OFFSET 20
|
||||||
#define GPR1_OFFSET 24
|
#define EXC_CTR_OFFSET 24
|
||||||
#define GPR2_OFFSET 28
|
#define EXC_XER_OFFSET 28
|
||||||
#define GPR3_OFFSET 32
|
#define EXC_LR_OFFSET 32
|
||||||
#define GPR4_OFFSET 36
|
#define GPR0_OFFSET PPC_EXC_GPR_OFFSET(0)
|
||||||
#define GPR5_OFFSET 40
|
#define GPR1_OFFSET PPC_EXC_GPR_OFFSET(1)
|
||||||
#define GPR6_OFFSET 44
|
#define GPR2_OFFSET PPC_EXC_GPR_OFFSET(2)
|
||||||
#define GPR7_OFFSET 48
|
#define GPR3_OFFSET PPC_EXC_GPR_OFFSET(3)
|
||||||
#define GPR8_OFFSET 52
|
#define GPR4_OFFSET PPC_EXC_GPR_OFFSET(4)
|
||||||
#define GPR9_OFFSET 56
|
#define GPR5_OFFSET PPC_EXC_GPR_OFFSET(5)
|
||||||
#define GPR10_OFFSET 60
|
#define GPR6_OFFSET PPC_EXC_GPR_OFFSET(6)
|
||||||
#define GPR11_OFFSET 64
|
#define GPR7_OFFSET PPC_EXC_GPR_OFFSET(7)
|
||||||
#define GPR12_OFFSET 68
|
#define GPR8_OFFSET PPC_EXC_GPR_OFFSET(8)
|
||||||
#define GPR13_OFFSET 72
|
#define GPR9_OFFSET PPC_EXC_GPR_OFFSET(9)
|
||||||
#define GPR14_OFFSET 76
|
#define GPR10_OFFSET PPC_EXC_GPR_OFFSET(10)
|
||||||
#define GPR15_OFFSET 80
|
#define GPR11_OFFSET PPC_EXC_GPR_OFFSET(11)
|
||||||
#define GPR16_OFFSET 84
|
#define GPR12_OFFSET PPC_EXC_GPR_OFFSET(12)
|
||||||
#define GPR17_OFFSET 88
|
#define GPR13_OFFSET PPC_EXC_GPR_OFFSET(13)
|
||||||
#define GPR18_OFFSET 92
|
#define GPR14_OFFSET PPC_EXC_GPR_OFFSET(14)
|
||||||
#define GPR19_OFFSET 96
|
#define GPR15_OFFSET PPC_EXC_GPR_OFFSET(15)
|
||||||
#define GPR20_OFFSET 100
|
#define GPR16_OFFSET PPC_EXC_GPR_OFFSET(16)
|
||||||
#define GPR21_OFFSET 104
|
#define GPR17_OFFSET PPC_EXC_GPR_OFFSET(17)
|
||||||
#define GPR22_OFFSET 108
|
#define GPR18_OFFSET PPC_EXC_GPR_OFFSET(18)
|
||||||
#define GPR23_OFFSET 112
|
#define GPR19_OFFSET PPC_EXC_GPR_OFFSET(19)
|
||||||
#define GPR24_OFFSET 116
|
#define GPR20_OFFSET PPC_EXC_GPR_OFFSET(20)
|
||||||
#define GPR25_OFFSET 120
|
#define GPR21_OFFSET PPC_EXC_GPR_OFFSET(21)
|
||||||
#define GPR26_OFFSET 124
|
#define GPR22_OFFSET PPC_EXC_GPR_OFFSET(22)
|
||||||
#define GPR27_OFFSET 128
|
#define GPR23_OFFSET PPC_EXC_GPR_OFFSET(23)
|
||||||
#define GPR28_OFFSET 132
|
#define GPR24_OFFSET PPC_EXC_GPR_OFFSET(24)
|
||||||
#define GPR29_OFFSET 136
|
#define GPR25_OFFSET PPC_EXC_GPR_OFFSET(25)
|
||||||
#define GPR30_OFFSET 140
|
#define GPR26_OFFSET PPC_EXC_GPR_OFFSET(26)
|
||||||
#define GPR31_OFFSET 144
|
#define GPR27_OFFSET PPC_EXC_GPR_OFFSET(27)
|
||||||
#define EXC_CR_OFFSET 148
|
#define GPR28_OFFSET PPC_EXC_GPR_OFFSET(28)
|
||||||
#define EXC_CTR_OFFSET 152
|
#define GPR29_OFFSET PPC_EXC_GPR_OFFSET(29)
|
||||||
#define EXC_XER_OFFSET 156
|
#define GPR30_OFFSET PPC_EXC_GPR_OFFSET(30)
|
||||||
#define EXC_LR_OFFSET 160
|
#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__
|
#ifdef __ALTIVEC__
|
||||||
#define EXC_VEC_OFFSET EXC_GENERIC_SIZE
|
#define EXC_VEC_OFFSET EXC_GENERIC_SIZE
|
||||||
@@ -237,42 +246,42 @@ typedef struct {
|
|||||||
unsigned EXC_SRR0;
|
unsigned EXC_SRR0;
|
||||||
unsigned EXC_SRR1;
|
unsigned EXC_SRR1;
|
||||||
unsigned _EXC_number;
|
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_CR;
|
||||||
unsigned EXC_CTR;
|
unsigned EXC_CTR;
|
||||||
unsigned EXC_XER;
|
unsigned EXC_XER;
|
||||||
unsigned EXC_LR;
|
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_MSR;
|
||||||
unsigned EXC_DAR;
|
unsigned EXC_DAR;
|
||||||
} BSP_Exception_frame;
|
} BSP_Exception_frame;
|
||||||
|
|||||||
Reference in New Issue
Block a user