[PATCH] include: Fix LLVM compile error in sbi_utils/hsm/fdt_hsm_sifive_inst.h
Anup Patel
anup.patel at oss.qualcomm.com
Sat Dec 27 02:09:16 PST 2025
Currently, OpenSBI fails to compile for LLVM=1 using 2025.11.27
riscv-gnu-toolchain with the following error:
In file included from opensbi/lib/utils/suspend/fdt_suspend_sifive_smc0.c:20:
opensbi/include/sbi_utils/hsm/fdt_hsm_sifive_inst.h:17:23: error: expected instruction format
17 | __asm__ __volatile__(".insn 0xfc000073" ::: "memory");
| ^
<inline asm>:1:8: note: instantiated into assembly here
1 | .insn 0xfc000073
| ^
In file included from opensbi/lib/utils/suspend/fdt_suspend_sifive_smc0.c:20:
opensbi/include/sbi_utils/hsm/fdt_hsm_sifive_inst.h:12:23: error: expected instruction format
12 | __asm__ __volatile__(".insn 0x30500073" ::: "memory");
| ^
<inline asm>:1:8: note: instantiated into assembly here
1 | .insn 0x30500073
| ^
2 errors generated.
To fix this compile error, use ".word" in-place ".insn".
Fixes: 1514a327306b ("lib: utils/hsm: Add SiFive TMC0 driver")
Signed-off-by: Anup Patel <anup.patel at oss.qualcomm.com>
---
include/sbi_utils/hsm/fdt_hsm_sifive_inst.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/sbi_utils/hsm/fdt_hsm_sifive_inst.h b/include/sbi_utils/hsm/fdt_hsm_sifive_inst.h
index de8aba19..7e9180ea 100644
--- a/include/sbi_utils/hsm/fdt_hsm_sifive_inst.h
+++ b/include/sbi_utils/hsm/fdt_hsm_sifive_inst.h
@@ -9,12 +9,12 @@
static inline void sifive_cease(void)
{
- __asm__ __volatile__(".insn 0x30500073" ::: "memory");
+ __asm__ __volatile__(".word 0x30500073" ::: "memory");
}
static inline void sifive_cflush(void)
{
- __asm__ __volatile__(".insn 0xfc000073" ::: "memory");
+ __asm__ __volatile__(".word 0xfc000073" ::: "memory");
}
#endif
--
2.43.0
More information about the opensbi
mailing list