Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@272 cc03376c-175c-47c8-b038-4cd826a8556b
68 lines
1.3 KiB
C
68 lines
1.3 KiB
C
#ifndef XCPT_ASM_H
|
|
#define XCPT_ASM_H
|
|
|
|
/* LEAF - declare leaf routine */
|
|
#define LEAF(symbol) \
|
|
.globl symbol; \
|
|
.align 2; \
|
|
.type symbol, @function; \
|
|
.ent symbol, 0; \
|
|
symbol: .frame sp, 0, ra
|
|
|
|
/* END - mark end of function */
|
|
#define END(function) \
|
|
.end function; \
|
|
.size function, .-function
|
|
|
|
/* Exception stack size */
|
|
#define XCP_SIZE 1024
|
|
|
|
/* save location for registers */
|
|
#define XCP_SR 0
|
|
#define XCP_CR 4
|
|
#define XCP_EPC 8
|
|
#define XCP_BADDR 12
|
|
#define XCP_ZERO 16
|
|
#define XCP_AT 20
|
|
#define XCP_V0 24
|
|
#define XCP_V1 28
|
|
#define XCP_A0 32
|
|
#define XCP_A1 36
|
|
#define XCP_A2 40
|
|
#define XCP_A3 44
|
|
#define XCP_T0 48
|
|
#define XCP_T1 52
|
|
#define XCP_T2 56
|
|
#define XCP_T3 60
|
|
#define XCP_T4 64
|
|
#define XCP_T5 68
|
|
#define XCP_T6 72
|
|
#define XCP_T7 76
|
|
#define XCP_S0 80
|
|
#define XCP_S1 84
|
|
#define XCP_S2 88
|
|
#define XCP_S3 92
|
|
#define XCP_S4 96
|
|
#define XCP_S5 100
|
|
#define XCP_S6 104
|
|
#define XCP_S7 108
|
|
#define XCP_T8 112
|
|
#define XCP_T9 116
|
|
#define XCP_JP 116
|
|
#define XCP_K0 120
|
|
#define XCP_K1 124
|
|
#define XCP_GP 128
|
|
#define XCP_SP 132
|
|
#define XCP_S8 136
|
|
#define XCP_FP 136
|
|
#define XCP_RA 140
|
|
#define XCP_MDLO 144
|
|
#define XCP_MDHI 148
|
|
#define XCP_COUNT 152
|
|
#define XCP_COMPARE 156
|
|
#define XCP_PREV 160
|
|
#define XCP_CLASS 164
|
|
|
|
|
|
#endif /* XCPT_ASM_H */
|