aboutsummaryrefslogtreecommitdiff
path: root/pk/fp_asm.S
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2014-10-31 22:40:06 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2014-10-31 22:40:06 -0700
commit069bdd3f0d1348e079221d62bdc1bd2f1bc33841 (patch)
treea18c2dba9d724197dfb18d9faee474c350fc1b87 /pk/fp_asm.S
parent514adef4868460944738f39734f282dc14e4d744 (diff)
downloadpk-069bdd3f0d1348e079221d62bdc1bd2f1bc33841.zip
pk-069bdd3f0d1348e079221d62bdc1bd2f1bc33841.tar.gz
pk-069bdd3f0d1348e079221d62bdc1bd2f1bc33841.tar.bz2
Implement draft of new calling convention
Here is the new syscall ABI: syscall number in a7 args in a0 - a6 return value in a0 Here is the integer register map: x0 -> x0 x1 -> ra x2 -> sp x3 -> tp x4 -> gp x5 -> t0 x6 -> t1 x7 -> t2 x8 -> s0 x9 -> s1 x10 -> a0 x11 -> a1 x12 -> a2 x13 -> a3 x14 -> a4 x15 -> a5 x16 -> a6 x17 -> a7 x18 -> s2 x19 -> s3 x20 -> s4 x21 -> s5 x22 -> s6 x23 -> s7 x24 -> s8 x25 -> s9 x26 -> s10 x27 -> s11 x28 -> t3 x29 -> t4 x30 -> t5 x31 -> t6
Diffstat (limited to 'pk/fp_asm.S')
-rw-r--r--pk/fp_asm.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/pk/fp_asm.S b/pk/fp_asm.S
index a247952..5e00c6c 100644
--- a/pk/fp_asm.S
+++ b/pk/fp_asm.S
@@ -4,8 +4,6 @@
.globl get_fp_state
get_fp_state:
- frsr v0
-
fsd f0 , 0(a0)
fsd f1 , 8(a0)
fsd f2 , 16(a0)
@@ -39,6 +37,7 @@ get_fp_state:
fsd f30,240(a0)
fsd f31,248(a0)
+ frsr a0
ret
.globl put_fp_state