aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHimanshu Chauhan <hchauhan@ventanamicro.com>2024-01-09 22:30:13 +0530
committerAnup Patel <anup@brainfault.org>2024-01-10 09:43:28 +0530
commitb752099da8e37ec9749245fde918e9f7dbd9957e (patch)
treeecee214101c7c6a1128a6bf8452e56679b306e97 /include
parenta2b255b88918715173942f2c5e1f97ac9e90c877 (diff)
downloadopensbi-b752099da8e37ec9749245fde918e9f7dbd9957e.zip
opensbi-b752099da8e37ec9749245fde918e9f7dbd9957e.tar.gz
opensbi-b752099da8e37ec9749245fde918e9f7dbd9957e.tar.bz2
include: sbi: Introduce common endianess conversion macro
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@ventanamicro.com> Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include')
-rw-r--r--include/sbi/sbi_byteorder.h10
1 files changed, 10 insertions, 0 deletions
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__ */