forked from Mirrors/opensbi
lib: sbi: Fix SHMEM_PHYS_ADDR for RV32
Obtaining a 64-bit address under rv32 does not require combining two 32-bit registers because we ignore upper 32-bits on rv32. Signed-off-by: Xiang W <wxjstz@126.com> Reviewed-by: Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/20250319123832.505033-1-wxjstz@126.com Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
@@ -66,13 +66,7 @@ static SBI_LIST_HEAD(mpxy_channel_list);
|
||||
#define CAP_DISABLE(_c, _m) INSERT_FIELD(_c, _m, 0)
|
||||
#define CAP_GET(_c, _m) EXTRACT_FIELD(_c, _m)
|
||||
|
||||
#if __riscv_xlen == 64
|
||||
#define SHMEM_PHYS_ADDR(_hi, _lo) (_lo)
|
||||
#elif __riscv_xlen == 32
|
||||
#define SHMEM_PHYS_ADDR(_hi, _lo) (((u64)(_hi) << 32) | (_lo))
|
||||
#else
|
||||
#error "Undefined XLEN"
|
||||
#endif
|
||||
|
||||
/** Per hart shared memory */
|
||||
struct mpxy_shmem {
|
||||
|
Reference in New Issue
Block a user