diff options
| author | Valery Ushakov <uwe@stderr.spb.ru> | 2020-11-10 01:01:06 +0300 |
|---|---|---|
| committer | Valery Ushakov <uwe@stderr.spb.ru> | 2020-11-10 01:01:06 +0300 |
| commit | a93f6c888f6d530420fbb54e2f7fa4572cdc5208 (patch) | |
| tree | cb1afd76dc6298465dc32e7cacf244c2c02c9700 /utils/libmach/uregi.h | |
| parent | 7828d5d2aa2aeba1588dba190fd80dcab95d982b (diff) | |
| parent | ff5ab8e7bad9f4c04b5d06dbc4290fe0f43c4467 (diff) | |
Merged inferno-os/inferno-os into master
Diffstat (limited to 'utils/libmach/uregi.h')
| -rw-r--r-- | utils/libmach/uregi.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/utils/libmach/uregi.h b/utils/libmach/uregi.h new file mode 100644 index 00000000..27d202b6 --- /dev/null +++ b/utils/libmach/uregi.h @@ -0,0 +1,57 @@ +struct Ureg +{ + union { + uintptr pc; + uintptr regs[1]; + }; + uintptr r1; /* link */ + union{ + uintptr r2; + uintptr sp; + uintptr usp; + }; + uintptr r3; /* sb */ + uintptr r4; + uintptr r5; + uintptr r6; /* up in kernel */ + uintptr r7; /* m in kernel */ + union{ + uintptr r8; + uintptr arg; + uintptr ret; + }; + uintptr r9; + uintptr r10; + uintptr r11; + uintptr r12; + uintptr r13; + uintptr r14; + uintptr r15; + uintptr r16; + uintptr r17; + uintptr r18; + uintptr r19; + uintptr r20; + uintptr r21; + uintptr r22; + uintptr r23; + uintptr r24; + uintptr r25; + uintptr r26; + uintptr r27; + uintptr r28; + uintptr r29; + uintptr r30; + uintptr r31; + + /* csrs: generally supervisor ones */ + uintptr status; + uintptr ie; + union { + uintptr cause; + uintptr type; + }; + uintptr tval; /* faulting address */ + + uintptr curmode; +}; |
