diff --git a/firmware/fw_base.S b/firmware/fw_base.S index d872061d..d927c3e0 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -9,6 +9,7 @@ #include #include +#include #include .align 3 @@ -134,8 +135,8 @@ _start_warm: */ csrr s6, mhartid la a4, platform - lwu s7, RISCV_PLATFORM_HART_COUNT_OFFSET(a4) - lwu s8, RISCV_PLATFORM_HART_STACK_SIZE_OFFSET(a4) + lwu s7, SBI_PLATFORM_HART_COUNT_OFFSET(a4) + lwu s8, SBI_PLATFORM_HART_STACK_SIZE_OFFSET(a4) /* HART ID should be within expected limit */ csrr s6, mhartid @@ -205,8 +206,8 @@ _hartid_to_scratch: * s2 -> Temporary */ la s2, platform - lwu s0, RISCV_PLATFORM_HART_STACK_SIZE_OFFSET(s2) - lwu s2, RISCV_PLATFORM_HART_COUNT_OFFSET(s2) + lwu s0, SBI_PLATFORM_HART_STACK_SIZE_OFFSET(s2) + lwu s2, SBI_PLATFORM_HART_COUNT_OFFSET(s2) mul s2, s2, s0 la s1, _fw_end add s1, s1, s2 diff --git a/include/sbi/riscv_asm.h b/include/sbi/riscv_asm.h index c169d93c..6fd7d5d7 100644 --- a/include/sbi/riscv_asm.h +++ b/include/sbi/riscv_asm.h @@ -69,11 +69,6 @@ #error "Unexpected __SIZEOF_SHORT__" #endif -#define RISCV_PLATFORM_NAME_OFFSET (0x0) -#define RISCV_PLATFORM_FEATURES_OFFSET (0x40) -#define RISCV_PLATFORM_HART_COUNT_OFFSET (0x48) -#define RISCV_PLATFORM_HART_STACK_SIZE_OFFSET (0x4c) - #define RISCV_TRAP_REGS_zero 0 #define RISCV_TRAP_REGS_ra 1 #define RISCV_TRAP_REGS_sp 2 diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h index 8532c03b..43fb4ea8 100644 --- a/include/sbi/sbi_platform.h +++ b/include/sbi/sbi_platform.h @@ -10,6 +10,13 @@ #ifndef __SBI_PLATFORM_H__ #define __SBI_PLATFORM_H__ +#define SBI_PLATFORM_NAME_OFFSET (0x0) +#define SBI_PLATFORM_FEATURES_OFFSET (0x40) +#define SBI_PLATFORM_HART_COUNT_OFFSET (0x48) +#define SBI_PLATFORM_HART_STACK_SIZE_OFFSET (0x4c) + +#ifndef __ASSEMBLY__ + #include enum sbi_platform_features { @@ -240,3 +247,5 @@ static inline int sbi_platform_system_shutdown(struct sbi_platform *plat, } #endif + +#endif