about summary refs log tree commit diff
path: root/src/signal
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-29 01:05:31 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-29 01:05:31 -0400
commit8c0a3d9e5c169fc9d0f246ab59362b658b029ad7 (patch)
tree6ac54202768db511e8bb959d85060adb98cbf226 /src/signal
parente0ea44cb764fcdbe8515f22096930bede2c7896f (diff)
downloadmusl-8c0a3d9e5c169fc9d0f246ab59362b658b029ad7.tar.gz
musl-8c0a3d9e5c169fc9d0f246ab59362b658b029ad7.tar.xz
musl-8c0a3d9e5c169fc9d0f246ab59362b658b029ad7.zip
microblaze port
based on initial work by rdp, with heavy modifications. some features
including threads are untested because qemu app-level emulation seems
to be broken and I do not have a proper system image for testing.
Diffstat (limited to 'src/signal')
-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