[PATCH v2 4/5] RISC-V: purgatory: Use XLEN-length loads to support rv32
Palmer Dabbelt
palmer at rivosinc.com
Thu Jun 23 21:48:10 PDT 2022
This uses an explicit "ld" to load up target address, which dosn't work
on rv32. Convert it to a REG_L macro, like everywhere else.
Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
---
arch/riscv/purgatory/entry.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/riscv/purgatory/entry.S b/arch/riscv/purgatory/entry.S
index 0194f4554130..71c50fef051c 100644
--- a/arch/riscv/purgatory/entry.S
+++ b/arch/riscv/purgatory/entry.S
@@ -8,6 +8,8 @@
*
*/
+#include <asm/asm.h>
+
.macro size, sym:req
.size \sym, . - \sym
.endm
@@ -26,7 +28,7 @@ purgatory_start:
/* Start new image. */
mv a0, s0
mv a1, s1
- ld a2, riscv_kernel_entry
+ REG_L a2, riscv_kernel_entry
jr a2
size purgatory_start
@@ -41,7 +43,7 @@ size purgatory_start
.globl riscv_kernel_entry
riscv_kernel_entry:
- .quad 0
+ REG_ASM 0
size riscv_kernel_entry
.end
--
2.34.1
More information about the linux-riscv
mailing list