diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sbi/sbi_ecall.h | 3 | ||||
-rw-r--r-- | include/sbi/sbi_platform.h | 9 |
2 files changed, 7 insertions, 5 deletions
diff --git a/include/sbi/sbi_ecall.h b/include/sbi/sbi_ecall.h index 1ef86e2..d357085 100644 --- a/include/sbi/sbi_ecall.h +++ b/include/sbi/sbi_ecall.h @@ -26,7 +26,8 @@ struct sbi_ecall_extension { unsigned long extid_end; int (* probe)(unsigned long extid, unsigned long *out_val); int (* handle)(unsigned long extid, unsigned long funcid, - unsigned long *args, unsigned long *out_val, + const struct sbi_trap_regs *regs, + unsigned long *out_val, struct sbi_trap_info *out_trap); }; diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h index 58aba71..7b8fe89 100644 --- a/include/sbi/sbi_platform.h +++ b/include/sbi/sbi_platform.h @@ -47,6 +47,7 @@ struct sbi_domain; struct sbi_trap_info; +struct sbi_trap_regs; /** Possible feature flags of a platform */ enum sbi_platform_features { @@ -146,7 +147,7 @@ struct sbi_platform_operations { int (*vendor_ext_check)(long extid); /** platform specific SBI extension implementation provider */ int (*vendor_ext_provider)(long extid, long funcid, - unsigned long *args, + const struct sbi_trap_regs *regs, unsigned long *out_value, struct sbi_trap_info *out_trap); } __packed; @@ -710,7 +711,7 @@ static inline int sbi_platform_vendor_ext_check(const struct sbi_platform *plat, * @param plat pointer to struct sbi_platform * @param extid vendor SBI extension id * @param funcid SBI function id within the extension id - * @param args pointer to arguments passed by the caller + * @param regs pointer to trap registers passed by the caller * @param out_value output value that can be filled by the callee * @param out_trap trap info that can be filled by the callee * @@ -719,13 +720,13 @@ static inline int sbi_platform_vendor_ext_check(const struct sbi_platform *plat, static inline int sbi_platform_vendor_ext_provider( const struct sbi_platform *plat, long extid, long funcid, - unsigned long *args, + const struct sbi_trap_regs *regs, unsigned long *out_value, struct sbi_trap_info *out_trap) { if (plat && sbi_platform_ops(plat)->vendor_ext_provider) { return sbi_platform_ops(plat)->vendor_ext_provider(extid, - funcid, args, + funcid, regs, out_value, out_trap); } |