diff options
| author | Richard Miller <miller.research@gmail.com> | 2020-11-09 11:33:44 +0000 |
|---|---|---|
| committer | Richard Miller <miller.research@gmail.com> | 2020-11-09 11:33:44 +0000 |
| commit | 2a571cc0ece4073eb56d5ccfc3e061a09a353e13 (patch) | |
| tree | 7daccd0dac9144a55a00570e3fb11af7f0862659 /utils/libmach/uregi.h | |
| parent | ed97654bd7a11d480b44505c8300d06b42e5fefe (diff) | |
Add riscv and riscv64 support to libmach
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; +}; |
