1#ifndef _ARCH_TRAPS_H_ 2#define _ARCH_TRAPS_H_ 3 4 5#include <SupportDefs.h> 6 7 8struct iframe { 9 uint64 ra; 10 uint64 t6; 11 uint64 sp; 12 uint64 gp; 13 uint64 tp; 14 uint64 t0; 15 uint64 t1; 16 uint64 t2; 17 uint64 t5; 18 uint64 s1; 19 uint64 a0; 20 uint64 a1; 21 uint64 a2; 22 uint64 a3; 23 uint64 a4; 24 uint64 a5; 25 uint64 a6; 26 uint64 a7; 27 uint64 s2; 28 uint64 s3; 29 uint64 s4; 30 uint64 s5; 31 uint64 s6; 32 uint64 s7; 33 uint64 s8; 34 uint64 s9; 35 uint64 s10; 36 uint64 s11; 37 uint64 t3; 38 uint64 t4; 39 uint64 fp; 40 uint64 epc; 41}; 42 43 44extern "C" { 45 46void SVec(); 47void STrap(iframe* frame); 48 49}; 50 51 52void arch_traps_init(); 53 54 55#endif // _ARCH_TRAPS_H_ 56