/SPARTAN/trunk/arch/mips/include/exception.h |
29,6 → 29,10 |
#ifndef __EXCEPTION_H__ |
#define __EXCEPTION_H__ |
|
#ifndef __mips_TYPES_H_ |
# include <arch/types.h> |
#endif |
|
#define EXC_Int 0 |
#define EXC_Mod 1 |
#define EXC_TLBL 2 |
48,6 → 52,44 |
#define EXC_WATCH 23 |
#define EXC_VCED 31 |
|
extern void exception(void); |
struct exception_regdump { |
__u32 at; |
__u32 v0; |
__u32 v1; |
__u32 a0; |
__u32 a1; |
__u32 a2; |
__u32 a3; |
__u32 t0; |
__u32 t1; |
__u32 t2; |
__u32 t3; |
__u32 t4; |
__u32 t5; |
__u32 t6; |
__u32 t7; |
__u32 s0; |
__u32 s1; |
__u32 s2; |
__u32 s3; |
__u32 s4; |
__u32 s5; |
__u32 s6; |
__u32 s7; |
__u32 t8; |
__u32 t9; |
__u32 gp; |
__u32 sp; |
__u32 s8; |
__u32 ra; |
|
__u32 lo; |
__u32 hi; |
|
__u32 status; /* cp0_status */ |
__u32 epc; /* cp0_epc */ |
}; |
|
extern void exception(struct exception_regdump *pstate); |
|
#endif |
/SPARTAN/trunk/arch/mips/include/mm/tlb.h |
29,6 → 29,8 |
#ifndef __mips_TLB_H__ |
#define __mips_TLB_H__ |
|
#include <arch/exception.h> |
|
#define PAGE_UNCACHED 2 |
#define PAGE_CACHEABLE_EXC_WRITE 5 |
|
63,7 → 65,7 |
|
typedef struct entry_lo pte_t; |
|
extern void tlb_refill(void); |
extern void tlb_invalid(void); |
extern void tlb_invalid(struct exception_regdump *pstate); |
extern void tlb_refill(struct exception_regdump *pstate); |
|
#endif |
/SPARTAN/trunk/arch/mips/include/context.h |
31,45 → 31,6 |
|
#define STACK_ITEM_SIZE 4 |
|
/* These are offsets into the register dump saved |
* on exception entry |
*/ |
#define EOFFSET_AT 0 |
#define EOFFSET_V0 4 |
#define EOFFSET_V1 8 |
#define EOFFSET_A0 12 |
#define EOFFSET_A1 16 |
#define EOFFSET_A2 20 |
#define EOFFSET_A3 24 |
#define EOFFSET_A4 28 |
#define EOFFSET_T1 32 |
#define EOFFSET_T2 36 |
#define EOFFSET_T3 40 |
#define EOFFSET_T4 44 |
#define EOFFSET_T5 48 |
#define EOFFSET_T6 52 |
#define EOFFSET_T7 56 |
#define EOFFSET_T8 60 |
#define EOFFSET_T9 64 |
#define EOFFSET_S0 68 |
#define EOFFSET_S1 72 |
#define EOFFSET_S2 76 |
#define EOFFSET_S3 80 |
#define EOFFSET_S4 84 |
#define EOFFSET_S5 88 |
#define EOFFSET_S6 92 |
#define EOFFSET_S7 96 |
#define EOFFSET_S8 100 |
#define EOFFSET_GP 104 |
#define EOFFSET_RA 108 |
#define EOFFSET_SP 112 |
|
#define EOFFSET_LO 116 |
#define EOFFSET_HI 120 |
#define EOFFSET_STATUS 124 |
|
#define REGISTER_SPACE 128 |
|
/* |
* Put one item onto the stack to support get_stack_base(). |
*/ |