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