1 #ifndef __UREG_H 2 #define __UREG_H 3 #if !defined(_PLAN9_SOURCE) 4 This header file is an extension to ANSI/POSIX 5 #endif 6 7 struct Ureg 8 { 9 unsigned long r0; /* unnecessary; just for symmetry */ 10 union{ 11 unsigned long sp; /* r1 */ 12 unsigned long usp; /* r1 */ 13 unsigned long r1; 14 }; 15 unsigned long r2; 16 unsigned long r3; 17 unsigned long r4; 18 unsigned long r5; 19 unsigned long r6; 20 unsigned long r7; 21 unsigned long r8; 22 unsigned long r9; 23 unsigned long r10; 24 unsigned long r11; 25 unsigned long r12; 26 unsigned long r13; 27 unsigned long r14; 28 unsigned long r15; 29 unsigned long r16; 30 unsigned long r17; 31 unsigned long r18; 32 unsigned long r19; 33 unsigned long r20; 34 unsigned long r21; 35 unsigned long r22; 36 unsigned long r23; 37 unsigned long r24; 38 unsigned long r25; 39 unsigned long r26; 40 unsigned long r27; 41 unsigned long r28; 42 unsigned long r29; 43 unsigned long r30; 44 unsigned long r31; 45 unsigned long y; 46 unsigned long tbr; 47 unsigned long psr; 48 unsigned long npc; 49 unsigned long pc; 50 unsigned long pad; /* so structure is double word aligned */ 51 }; 52 53 #endif 54