123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef __UREG_H
- #define __UREG_H
- #if !defined(_PLAN9_SOURCE)
- This header file is an extension to ANSI/POSIX
- #endif
- struct Ureg
- {
- union {
- unsigned long pc;
- unsigned long regs[1];
- };
- unsigned long r1; /* link */
- union{
- unsigned long r2;
- unsigned long sp;
- unsigned long usp;
- };
- unsigned long r3; /* sb */
- unsigned long r4;
- unsigned long r5;
- unsigned long r6; /* up in kernel */
- unsigned long r7; /* m in kernel */
- union{
- unsigned long r8;
- unsigned long arg;
- unsigned long ret;
- };
- unsigned long r9;
- unsigned long r10;
- unsigned long r11;
- unsigned long r12;
- unsigned long r13;
- unsigned long r14;
- unsigned long r15;
- unsigned long r16;
- unsigned long r17;
- unsigned long r18;
- unsigned long r19;
- unsigned long r20;
- unsigned long r21;
- unsigned long r22;
- unsigned long r23;
- unsigned long r24;
- unsigned long r25;
- unsigned long r26;
- unsigned long r27;
- unsigned long r28;
- unsigned long r29;
- unsigned long r30;
- unsigned long r31;
- /* csrs: generally supervisor ones */
- unsigned long status;
- unsigned long ie;
- union {
- unsigned long cause;
- unsigned long type;
- };
- unsigned long tval; /* faulting address */
- };
- #endif
|