[PATCH v3 1/8] include: sbi: Introduce common endianess conversion macro
Himanshu Chauhan
hchauhan at ventanamicro.com
Tue Jan 9 09:00:13 PST 2024
Introduce cpu_to_lle and lle_to_cpu macros which invoke
correct word length cpu_to_le<64/32> conversion based on
__riscv_xlen.
Signed-off-by: Himanshu Chauhan <hchauhan at ventanamicro.com>
Reviewed-by: Anup Patel <anup at brainfault.org>
---
include/sbi/sbi_byteorder.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/sbi/sbi_byteorder.h b/include/sbi/sbi_byteorder.h
index 15107e1..db6eb2b 100644
--- a/include/sbi/sbi_byteorder.h
+++ b/include/sbi/sbi_byteorder.h
@@ -58,4 +58,14 @@
#define le64_to_cpu(x) ((uint64_t)BSWAP64(x))
#endif
+#if __riscv_xlen == 64
+#define cpu_to_lle cpu_to_le64
+#define lle_to_cpu le64_to_cpu
+#elif __riscv_xlen == 32
+#define cpu_to_lle cpu_to_le32
+#define lle_to_cpu le32_to_cpu
+#else
+#error "Unknown __riscv_xlen"
+#endif
+
#endif /* __SBI_BYTEORDER_H__ */
--
2.34.1
More information about the opensbi
mailing list