summaryrefslogtreecommitdiffstats
path: root/unwind.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-06-19 02:17:32 +0200
committerKaz Kylheku <kaz@kylheku.com>2020-06-19 02:17:32 +0200
commit1d7fae3c4b23c7ddcb15a66fd6c4c72eff7c9168 (patch)
tree5afad6c45e1e10f3d382bff0fc989a21d91a9466 /unwind.h
parent03db12abdf39b9c26ae28b28faaea933eb36aa2e (diff)
downloadtxr-1d7fae3c4b23c7ddcb15a66fd6c4c72eff7c9168.tar.gz
txr-1d7fae3c4b23c7ddcb15a66fd6c4c72eff7c9168.tar.bz2
txr-1d7fae3c4b23c7ddcb15a66fd6c4c72eff7c9168.zip
First cut at MIPS port.
* jmp.S (jmp_save, jmp_restore): Implement for 32 bit MIPS. * unwind.h (struct jmp): 32 bit MIPS definition added.
Diffstat (limited to 'unwind.h')
-rw-r--r--unwind.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/unwind.h b/unwind.h
index 2159a1a4..a9f8d60c 100644
--- a/unwind.h
+++ b/unwind.h
@@ -141,6 +141,23 @@ struct jmp {
x19-x28, x29(fp), x30(lr), (x31)sp, d8-d15. Other registers are not
saved. */
+#elif _MIPS_SZPTR == 32
+
+struct jmp {
+ unsigned long s0; /* $16 */
+ unsigned long s1; /* ... */
+ unsigned long s2;
+ unsigned long s3;
+ unsigned long s4;
+ unsigned long s5;
+ unsigned long s6; /* ... */
+ unsigned long s8; /* $23 */
+ unsigned long gp; /* $28 */
+ unsigned long sp; /* $29 */
+ unsigned long fp; /* $30 */
+ unsigned long ra; /* $31 */
+};
+
#else
#error port me!
#endif