diff options
Diffstat (limited to 'include/sbi/sbi_ecall.h')
-rw-r--r-- | include/sbi/sbi_ecall.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/include/sbi/sbi_ecall.h b/include/sbi/sbi_ecall.h index 1b56496..0b92e67 100644 --- a/include/sbi/sbi_ecall.h +++ b/include/sbi/sbi_ecall.h @@ -19,16 +19,13 @@ struct sbi_trap_regs; struct sbi_trap_info; -struct sbi_scratch; struct sbi_ecall_extension { struct sbi_dlist head; unsigned long extid_start; unsigned long extid_end; - int (* probe)(struct sbi_scratch *scratch, - unsigned long extid, unsigned long *out_val); - int (* handle)(struct sbi_scratch *scratch, - unsigned long extid, unsigned long funcid, + int (* probe)(unsigned long extid, unsigned long *out_val); + int (* handle)(unsigned long extid, unsigned long funcid, unsigned long *args, unsigned long *out_val, struct sbi_trap_info *out_trap); }; @@ -51,8 +48,7 @@ int sbi_ecall_register_extension(struct sbi_ecall_extension *ext); void sbi_ecall_unregister_extension(struct sbi_ecall_extension *ext); -int sbi_ecall_handler(u32 hartid, ulong mcause, struct sbi_trap_regs *regs, - struct sbi_scratch *scratch); +int sbi_ecall_handler(struct sbi_trap_regs *regs); int sbi_ecall_init(void); |