diff options
Diffstat (limited to 'lib/sbi/sbi_ecall_legacy.c')
-rw-r--r-- | lib/sbi/sbi_ecall_legacy.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c index 70981e4..95f612a 100644 --- a/lib/sbi/sbi_ecall_legacy.c +++ b/lib/sbi/sbi_ecall_legacy.c @@ -15,6 +15,7 @@ #include <sbi/sbi_error.h> #include <sbi/sbi_hsm.h> #include <sbi/sbi_ipi.h> +#include <sbi/sbi_scratch.h> #include <sbi/sbi_system.h> #include <sbi/sbi_timer.h> #include <sbi/sbi_tlb.h> @@ -39,14 +40,14 @@ static int sbi_load_hart_mask_unpriv(ulong *pmask, ulong *hmask, return 0; } -static int sbi_ecall_legacy_handler(struct sbi_scratch *scratch, - unsigned long extid, unsigned long funcid, +static int sbi_ecall_legacy_handler(unsigned long extid, unsigned long funcid, unsigned long *args, unsigned long *out_val, struct sbi_trap_info *out_trap) { int ret = 0; struct sbi_tlb_info tlb_info; u32 source_hart = current_hartid(); + struct sbi_scratch *scratch = sbi_scratch_thishart_ptr(); ulong hmask = 0; switch (extid) { |