aboutsummaryrefslogtreecommitdiff
path: root/pk/entry.S
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2013-08-18 04:16:17 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2013-08-18 04:16:17 -0700
commit8416e35faedf15fb6be3b6b5f7fa6a5c3e6da067 (patch)
treed5c7181f6ade499e878bc956fb873650d40eb9a1 /pk/entry.S
parent33a258dd762e928ba77094a210f6b91dc5daf7f0 (diff)
downloadriscv-pk-8416e35faedf15fb6be3b6b5f7fa6a5c3e6da067.zip
riscv-pk-8416e35faedf15fb6be3b6b5f7fa6a5c3e6da067.tar.gz
riscv-pk-8416e35faedf15fb6be3b6b5f7fa6a5c3e6da067.tar.bz2
Use macro instead of function for save_tf
Diffstat (limited to 'pk/entry.S')
-rw-r--r--pk/entry.S9
1 files changed, 4 insertions, 5 deletions
diff --git a/pk/entry.S b/pk/entry.S
index 4a762c0..771c5cb 100644
--- a/pk/entry.S
+++ b/pk/entry.S
@@ -12,9 +12,7 @@
# define REGBYTES 4
#endif
- .text
-save_tf: # write the trap frame onto the stack
-
+ .macro save_tf
# save gprs
STORE x3,3*REGBYTES(x2)
STORE x4,4*REGBYTES(x2)
@@ -71,8 +69,9 @@ save_tf: # write the trap frame onto the stack
sh x3, 36*REGBYTES(x2)
sh x4,2+36*REGBYTES(x2)
1:
- ret
+ .endm
+ .text
.globl pop_tf
pop_tf: # write the trap frame onto the stack
# restore gprs
@@ -134,7 +133,7 @@ trap_entry:
bnez ra, 1f
la x2,stack_top-320
-1:jal save_tf
+1:save_tf
move sp,x2
move a0,x2
jal handle_trap