summaryrefslogtreecommitdiff
path: root/src/signal/microblaze
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal/microblaze')
-rw-r--r--src/signal/microblaze/restore.s11
-rw-r--r--src/signal/microblaze/sigsetjmp.s9
2 files changed, 20 insertions, 0 deletions
diff --git a/src/signal/microblaze/restore.s b/src/signal/microblaze/restore.s
new file mode 100644
index 00000000..fe4f5a09
--- /dev/null
+++ b/src/signal/microblaze/restore.s
@@ -0,0 +1,11 @@
+.global __restore
+.type __restore,@function
+__restore:
+ ori r12, r0, 119
+ brki r14, 0x8
+
+.global __restore_rt
+.type __restore_rt,@function
+__restore_rt:
+ ori r12, r0, 173
+ brki r14, 0x8
diff --git a/src/signal/microblaze/sigsetjmp.s b/src/signal/microblaze/sigsetjmp.s
new file mode 100644
index 00000000..3aca90dc
--- /dev/null
+++ b/src/signal/microblaze/sigsetjmp.s
@@ -0,0 +1,9 @@
+.global sigsetjmp
+.type sigsetjmp,@function
+sigsetjmp:
+ lwi r11, r5, 72
+ beqi r11, setjmp
+ addi r7, r5, 76
+ add r6, r0, r0
+ brid sigprocmask
+ ori r5, r0, 2