diff options
| author | Alex Richardson <[email protected]> | 2021-07-12 10:24:05 +0100 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2021-07-17 16:35:23 +0530 |
| commit | 7210e907858be23a207479e26fde947e968b7f29 (patch) | |
| tree | e1d6a7ae323be3bfff4935001195281f3e1e61d9 | |
| parent | e3d6919d10d73ff97cfe583cc78fc01c7beaf4b5 (diff) | |
firmware: use __SIZEOF_LONG__ for field offsets in fw_dynamic.h
The fields are of type unsigned long and are not pointers. While this
happens to be the same for RV32/RV64, it is not correct when compiling
for a CHERI-RISC-V system where pointers are twice the size of long.
Signed-off-by: Alex Richardson <[email protected]>
Reviewed-by: Bin Meng <[email protected]>
Reviewed-by: Anup Patel <[email protected]>
| -rw-r--r-- | include/sbi/fw_dynamic.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/sbi/fw_dynamic.h b/include/sbi/fw_dynamic.h index a07266ef..dea207bc 100644 --- a/include/sbi/fw_dynamic.h +++ b/include/sbi/fw_dynamic.h @@ -15,17 +15,17 @@ /* clang-format off */ /** Offset of magic member in fw_dynamic_info */ -#define FW_DYNAMIC_INFO_MAGIC_OFFSET (0 * __SIZEOF_POINTER__) +#define FW_DYNAMIC_INFO_MAGIC_OFFSET (0 * __SIZEOF_LONG__) /** Offset of version member in fw_dynamic_info */ -#define FW_DYNAMIC_INFO_VERSION_OFFSET (1 * __SIZEOF_POINTER__) +#define FW_DYNAMIC_INFO_VERSION_OFFSET (1 * __SIZEOF_LONG__) /** Offset of next_addr member in fw_dynamic_info (version >= 1) */ -#define FW_DYNAMIC_INFO_NEXT_ADDR_OFFSET (2 * __SIZEOF_POINTER__) +#define FW_DYNAMIC_INFO_NEXT_ADDR_OFFSET (2 * __SIZEOF_LONG__) /** Offset of next_mode member in fw_dynamic_info (version >= 1) */ -#define FW_DYNAMIC_INFO_NEXT_MODE_OFFSET (3 * __SIZEOF_POINTER__) +#define FW_DYNAMIC_INFO_NEXT_MODE_OFFSET (3 * __SIZEOF_LONG__) /** Offset of options member in fw_dynamic_info (version >= 1) */ -#define FW_DYNAMIC_INFO_OPTIONS_OFFSET (4 * __SIZEOF_POINTER__) +#define FW_DYNAMIC_INFO_OPTIONS_OFFSET (4 * __SIZEOF_LONG__) /** Offset of boot_hart member in fw_dynamic_info (version >= 2) */ -#define FW_DYNAMIC_INFO_BOOT_HART_OFFSET (5 * __SIZEOF_POINTER__) +#define FW_DYNAMIC_INFO_BOOT_HART_OFFSET (5 * __SIZEOF_LONG__) /** Expected value of info magic ('OSBI' ascii string in hex) */ #define FW_DYNAMIC_INFO_MAGIC_VALUE 0x4942534f |
