[PATCH 1/4] RISC-V: use REG_S/REG_L for mcount
Jamie Iles
jamie at jamieiles.com
Thu Oct 27 10:24:32 PDT 2022
In preparation for rv32i ftrace support, convert mcount routines to use
native sized loads/stores.
Signed-off-by: Jamie Iles <jamie at jamieiles.com>
---
arch/riscv/kernel/mcount.S | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/arch/riscv/kernel/mcount.S b/arch/riscv/kernel/mcount.S
index 6d462681c9c0..9cf0904afd6d 100644
--- a/arch/riscv/kernel/mcount.S
+++ b/arch/riscv/kernel/mcount.S
@@ -15,8 +15,8 @@
.macro SAVE_ABI_STATE
addi sp, sp, -16
- sd s0, 0(sp)
- sd ra, 8(sp)
+ REG_S s0, 0(sp)
+ REG_S ra, 8(sp)
addi s0, sp, 16
.endm
@@ -26,22 +26,22 @@
*/
.macro SAVE_RET_ABI_STATE
addi sp, sp, -32
- sd s0, 16(sp)
- sd ra, 24(sp)
- sd a0, 8(sp)
+ REG_S s0, 16(sp)
+ REG_S ra, 24(sp)
+ REG_S a0, 8(sp)
addi s0, sp, 32
.endm
.macro RESTORE_ABI_STATE
- ld ra, 8(sp)
- ld s0, 0(sp)
+ REG_L ra, 8(sp)
+ REG_L s0, 0(sp)
addi sp, sp, 16
.endm
.macro RESTORE_RET_ABI_STATE
- ld ra, 24(sp)
- ld s0, 16(sp)
- ld a0, 8(sp)
+ REG_L ra, 24(sp)
+ REG_L s0, 16(sp)
+ REG_L a0, 8(sp)
addi sp, sp, 32
.endm
@@ -82,16 +82,16 @@ ENTRY(MCOUNT_NAME)
la t4, ftrace_stub
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
la t0, ftrace_graph_return
- ld t1, 0(t0)
+ REG_L t1, 0(t0)
bne t1, t4, do_ftrace_graph_caller
la t3, ftrace_graph_entry
- ld t2, 0(t3)
+ REG_L t2, 0(t3)
la t6, ftrace_graph_entry_stub
bne t2, t6, do_ftrace_graph_caller
#endif
la t3, ftrace_trace_function
- ld t5, 0(t3)
+ REG_L t5, 0(t3)
bne t5, t4, do_trace
ret
@@ -104,7 +104,7 @@ do_ftrace_graph_caller:
addi a0, s0, -8
mv a1, ra
#ifdef HAVE_FUNCTION_GRAPH_FP_TEST
- ld a2, -16(s0)
+ REG_L a2, -16(s0)
#endif
SAVE_ABI_STATE
call prepare_ftrace_return
@@ -117,7 +117,7 @@ do_ftrace_graph_caller:
* (*ftrace_trace_function)(ra_to_caller, ra_to_caller_of_caller)
*/
do_trace:
- ld a1, -8(s0)
+ REG_L a1, -8(s0)
mv a0, ra
SAVE_ABI_STATE
--
2.34.1
More information about the linux-riscv
mailing list