1*2a571cc0SRichard Miller struct Ureg 2*2a571cc0SRichard Miller { 3*2a571cc0SRichard Miller union { 4*2a571cc0SRichard Miller uintptr pc; 5*2a571cc0SRichard Miller uintptr regs[1]; 6*2a571cc0SRichard Miller }; 7*2a571cc0SRichard Miller uintptr r1; /* link */ 8*2a571cc0SRichard Miller union{ 9*2a571cc0SRichard Miller uintptr r2; 10*2a571cc0SRichard Miller uintptr sp; 11*2a571cc0SRichard Miller uintptr usp; 12*2a571cc0SRichard Miller }; 13*2a571cc0SRichard Miller uintptr r3; /* sb */ 14*2a571cc0SRichard Miller uintptr r4; 15*2a571cc0SRichard Miller uintptr r5; 16*2a571cc0SRichard Miller uintptr r6; /* up in kernel */ 17*2a571cc0SRichard Miller uintptr r7; /* m in kernel */ 18*2a571cc0SRichard Miller union{ 19*2a571cc0SRichard Miller uintptr r8; 20*2a571cc0SRichard Miller uintptr arg; 21*2a571cc0SRichard Miller uintptr ret; 22*2a571cc0SRichard Miller }; 23*2a571cc0SRichard Miller uintptr r9; 24*2a571cc0SRichard Miller uintptr r10; 25*2a571cc0SRichard Miller uintptr r11; 26*2a571cc0SRichard Miller uintptr r12; 27*2a571cc0SRichard Miller uintptr r13; 28*2a571cc0SRichard Miller uintptr r14; 29*2a571cc0SRichard Miller uintptr r15; 30*2a571cc0SRichard Miller uintptr r16; 31*2a571cc0SRichard Miller uintptr r17; 32*2a571cc0SRichard Miller uintptr r18; 33*2a571cc0SRichard Miller uintptr r19; 34*2a571cc0SRichard Miller uintptr r20; 35*2a571cc0SRichard Miller uintptr r21; 36*2a571cc0SRichard Miller uintptr r22; 37*2a571cc0SRichard Miller uintptr r23; 38*2a571cc0SRichard Miller uintptr r24; 39*2a571cc0SRichard Miller uintptr r25; 40*2a571cc0SRichard Miller uintptr r26; 41*2a571cc0SRichard Miller uintptr r27; 42*2a571cc0SRichard Miller uintptr r28; 43*2a571cc0SRichard Miller uintptr r29; 44*2a571cc0SRichard Miller uintptr r30; 45*2a571cc0SRichard Miller uintptr r31; 46*2a571cc0SRichard Miller 47*2a571cc0SRichard Miller /* csrs: generally supervisor ones */ 48*2a571cc0SRichard Miller uintptr status; 49*2a571cc0SRichard Miller uintptr ie; 50*2a571cc0SRichard Miller union { 51*2a571cc0SRichard Miller uintptr cause; 52*2a571cc0SRichard Miller uintptr type; 53*2a571cc0SRichard Miller }; 54*2a571cc0SRichard Miller uintptr tval; /* faulting address */ 55*2a571cc0SRichard Miller 56*2a571cc0SRichard Miller uintptr curmode; 57*2a571cc0SRichard Miller }; 58