summaryrefslogtreecommitdiff
path: root/utils/libmach/uregi.h
diff options
context:
space:
mode:
authorValery Ushakov <uwe@stderr.spb.ru>2020-11-10 01:01:06 +0300
committerValery Ushakov <uwe@stderr.spb.ru>2020-11-10 01:01:06 +0300
commita93f6c888f6d530420fbb54e2f7fa4572cdc5208 (patch)
treecb1afd76dc6298465dc32e7cacf244c2c02c9700 /utils/libmach/uregi.h
parent7828d5d2aa2aeba1588dba190fd80dcab95d982b (diff)
parentff5ab8e7bad9f4c04b5d06dbc4290fe0f43c4467 (diff)
Merged inferno-os/inferno-os into master
Diffstat (limited to 'utils/libmach/uregi.h')
-rw-r--r--utils/libmach/uregi.h57
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;
+};