summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Ushakov <uwe@stderr.spb.ru>2017-01-13 05:02:25 +0300
committerValery Ushakov <uwe@stderr.spb.ru>2017-01-13 05:02:25 +0300
commitd16cdfb235e9bf4ba0ee5ec311090c309a50d92e (patch)
treeaa92dd270751e7a043f7facb0fa93fe247ddfff8
parenta2c3b903b5a872f448d428051846c1572f610a76 (diff)
Copied from Linux version. Fix lwz mnemonic and use <machine/asm.h> macros.
-rw-r--r--lib9/setfcr-NetBSD-power.S33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib9/setfcr-NetBSD-power.S b/lib9/setfcr-NetBSD-power.S
new file mode 100644
index 00000000..f50507f5
--- /dev/null
+++ b/lib9/setfcr-NetBSD-power.S
@@ -0,0 +1,33 @@
+#include <machine/asm.h>
+
+ENTRY_NOPROFILE(getfcr)
+ mffs %f0
+ stfdu %f0,-16(%r1)
+ lwz %r3,-12(%r1)
+ blr
+ END(getfcr)
+
+ENTRY_NOPROFILE(getfsr)
+ mffs %f0
+ stfdu %f0,-16(%r1)
+ lwz %r3,-12(%r1)
+ blr
+ END(getfsr)
+
+ENTRY_NOPROFILE(setfsr)
+ sync
+ stw %r3,-12(%r1)
+ lfd %f0,-16(%r1)
+ mtfsf 0xff, %f0
+ isync
+ blr
+ END(setfsr)
+
+ENTRY_NOPROFILE(setfcr)
+ sync
+ stw %r3,-12(%r1)
+ lfd %f0,-16(%r1)
+ mtfsf 0xff, %f0
+ isync
+ blr
+ END(setfcr)