diff options
| author | Anup Patel <[email protected]> | 2024-03-11 18:15:20 +0530 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2024-03-19 11:31:39 +0530 |
| commit | 5b11f16c3c65feb065ba6a703d69a3c56ccca688 (patch) | |
| tree | aad044b21ef5dbe39259a658277349959d40504e | |
| parent | 43d346c0c1d3817d863741c3c523ab6e0c87cc6f (diff) | |
lib: sbi: Pass trap context pointer to sbi_ecall_handler()
To be consistent with other trap handlers, pass trap context pointer
to sbi_ecall_handler().
Signed-off-by: Anup Patel <[email protected]>
Reviewed-by: Samuel Holland <[email protected]>
Tested-by: Samuel Holland <[email protected]>
Reviewed-by: Clément Léger <[email protected]>
| -rw-r--r-- | include/sbi/sbi_ecall.h | 4 | ||||
| -rw-r--r-- | lib/sbi/sbi_ecall.c | 3 | ||||
| -rw-r--r-- | lib/sbi/sbi_trap.c | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/include/sbi/sbi_ecall.h b/include/sbi/sbi_ecall.h index 0bf42d16..0b35eff7 100644 --- a/include/sbi/sbi_ecall.h +++ b/include/sbi/sbi_ecall.h @@ -18,7 +18,7 @@ #define SBI_OPENSBI_IMPID 1 struct sbi_trap_regs; -struct sbi_trap_info; +struct sbi_trap_context; struct sbi_ecall_return { /* Return flag to skip register update */ @@ -87,7 +87,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(struct sbi_trap_regs *regs); +int sbi_ecall_handler(struct sbi_trap_context *tcntx); int sbi_ecall_init(void); diff --git a/lib/sbi/sbi_ecall.c b/lib/sbi/sbi_ecall.c index 631c5dd1..d4fc58c5 100644 --- a/lib/sbi/sbi_ecall.c +++ b/lib/sbi/sbi_ecall.c @@ -95,9 +95,10 @@ void sbi_ecall_unregister_extension(struct sbi_ecall_extension *ext) sbi_list_del_init(&ext->head); } -int sbi_ecall_handler(struct sbi_trap_regs *regs) +int sbi_ecall_handler(struct sbi_trap_context *tcntx) { int ret = 0; + struct sbi_trap_regs *regs = &tcntx->regs; struct sbi_ecall_extension *ext; unsigned long extension_id = regs->a7; unsigned long func_id = regs->a6; diff --git a/lib/sbi/sbi_trap.c b/lib/sbi/sbi_trap.c index 24627636..060cec61 100644 --- a/lib/sbi/sbi_trap.c +++ b/lib/sbi/sbi_trap.c @@ -299,7 +299,7 @@ struct sbi_trap_context *sbi_trap_handler(struct sbi_trap_context *tcntx) break; case CAUSE_SUPERVISOR_ECALL: case CAUSE_MACHINE_ECALL: - rc = sbi_ecall_handler(regs); + rc = sbi_ecall_handler(tcntx); msg = "ecall handler failed"; break; case CAUSE_LOAD_ACCESS: |
