9os

Experimental kernel using plan9 ideas for embedded device
git clone git://git.simple-cc.org/9os
Log | Files | Refs | README | LICENSE

ec.h (2373B)


      1 enum ecvals {
      2 	UNKNOWN   =  0x00,      /* unknown reason */
      3 	TRAPWFI   =  0x01,      /* trapped wfi or wfe */
      4 	TRAPMCR   =  0x03,      /* trapped mcr or mrc (coproc == 1111) */
      5 	TRAPMCRR  =  0x04,      /* trapped mcrr or mrrc (coproc == 1111) */
      6 	TRAPMCR2  =  0x05,      /* trapped mcr or mrc (coproc == 1110) */
      7 	TRAPLDC   =  0x06,      /* trapped LDC or STC */
      8 	TRAPFP    =  0x07,      /* trapped FP/SIMD access */
      9 	TRAPVMRS  =  0x08,      /* trapped VMRS */
     10 	TRAPPTRA  =  0x09,      /* trapped pointer autentication */
     11 	TRAPMCRR2 =  0x0c,      /* trapped mcrr or mrrc (coproc == 1110) */
     12 	ILL       =  0x0e,      /* Illegal execution state */
     13 	SVC32     =  0x11,      /* SVC in AArch32 */
     14 	HVC32     =  0x12,      /* HVC in AArch32 */
     15 	SMC32     =  0x13,      /* SMS in AArch32 */
     16 	SVC       =  0x15,      /* SVC */
     17 	HVC       =  0x16,      /* HVC */
     18 	SMC       =  0x17,      /* SMC */
     19 	TRAPSYS   =  0x18,      /* Trapped MSR, MRS or System instruction */
     20 	TRAP      =  0x1a,      /* trapped ERET, ERETAA, ERETAB */
     21 	EL3EXCP   =  0x1f,      /* implementation defined exception to EL3 */
     22 	IABORTL   =  0x20,      /* Instruction abort from lower level */
     23 	IABORT    =  0x21,      /* Instruction abort from current level */
     24 	PCALIGN   =  0x22,      /* PC aligment fault exception */
     25 	DABORTL   =  0x24,      /* Data abort from lower level */
     26 	DABORT    =  0x25,      /* Data abort from current level */
     27 	SPALIGN   =  0x26,      /* SP aligment fault exception */
     28 	FPE32     =  0x28,      /* Floating-point exception in AArch32 */
     29 	FPE       =  0x2c,      /* Floating-point exception in AArch64 */
     30 	SOFTRES   =  0x2d,	/* Software defined fault syndrome */
     31 	SERROR    =  0x2f,      /* Serror interrupt */
     32 	BREAKL    =  0x30,      /* Breakpoint exception from lower level */
     33 	BREAK     =  0x31,      /* Breakpoint exception from current level */
     34 	STEPL     =  0x32,      /* Software step from lower level */
     35 	STEP      =  0x33,      /* Software step from current level */
     36 	WATCHL    =  0x34,      /* Watchpoint from lower level */
     37 	WATCH     =  0x35,      /* Watchpoint from current level */
     38 	BKPT      =  0x38,      /* BKPT instruction in AArch32 */
     39 	VECTOR    =  0x3a,      /* Vector catch exception in AArch32 */
     40 	TRAPL     =  0x3b,      /* Trap from lower level */
     41 	BRK       =  0x3c,      /* BRK instruction in AArch64 */
     42 	NR_EC_VALS
     43 };
     44 
     45 extern const char *const ecstr[];