opensbi/lib/sbi
Anup Patel 12394a269b lib: sbi: Allow custom local TLB flush function
Currently, we have fixed TLB flush types supported by the
remote TLB library. This approach is not flexible and does
not allow custom local TLB flush function. For example,
after updating PMP entries on a set of HARTs at runtime,
we have to flush TLB on these HARTs as well.

To support custom local TLB flush function, we replace the
"type" field of "struct sbi_tlb_info" with a local TLB flush
function pointer. We also provide definitions of standard TLB
flush operations (such as fence_i, sfence.vma, hfence.vvma,
hfence.gvma, etc).

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
2021-01-07 09:53:19 +05:30
..
objects.mk lib: sbi: Add initial domain support 2020-10-20 11:22:15 +05:30
riscv_asm.c lib: sbi: Allow specifying mode in sbi_hart_pmp_check_addr() API 2020-09-16 09:05:25 +05:30
riscv_atomic.c include: Use more consistent name for atomic xchg() and cmpxchg() 2020-03-28 13:32:38 +05:30
riscv_hardfp.S lib: Move sbi core library to lib/sbi 2019-06-19 09:48:51 +05:30
riscv_locks.c lib: Move sbi core library to lib/sbi 2019-06-19 09:48:51 +05:30
sbi_bitmap.c lib: Simple bitmap library 2020-03-11 15:29:45 +05:30
sbi_bitops.c lib: sbi: Fix coding style issues 2020-03-10 10:27:28 +05:30
sbi_console.c include: sbi_console: Remove scratch parameter from sbi_dprintf() 2020-03-28 13:32:58 +05:30
sbi_domain.c lib: sbi: Remove domain_get() platform callback function 2020-12-16 10:10:28 +05:30
sbi_ecall.c lib: sbi: Replace args with trap registers in ecall handler 2021-01-07 09:53:14 +05:30
sbi_ecall_base.c lib: sbi: Replace args with trap registers in ecall handler 2021-01-07 09:53:14 +05:30
sbi_ecall_hsm.c lib: sbi: Replace args with trap registers in ecall handler 2021-01-07 09:53:14 +05:30
sbi_ecall_legacy.c lib: sbi: Allow custom local TLB flush function 2021-01-07 09:53:19 +05:30
sbi_ecall_replace.c lib: sbi: Allow custom local TLB flush function 2021-01-07 09:53:19 +05:30
sbi_ecall_vendor.c lib: sbi: Replace args with trap registers in ecall handler 2021-01-07 09:53:14 +05:30
sbi_emulate_csr.c lib: sbi: Improve HPM CSR read/write emulation 2020-09-01 10:28:35 +05:30
sbi_expected_trap.S lib: Rename unprivileged trap handler 2020-05-10 09:59:16 +05:30
sbi_fifo.c lib: Fix race conditions in tlb fifo access. 2019-08-16 08:42:55 +05:30
sbi_hart.c lib: sbi: Fix sbi_hart_switch_mode() for u-mode 2020-12-04 17:56:10 +05:30
sbi_hfence.S lib: Fix __sbi_hfence_gvma_vmid_gpa() and __sbi_hfence_vvma_asid_va() 2020-06-15 09:24:27 +05:30
sbi_hsm.c lib: sbi: Optimize sbi_hsm_hart_started_mask() implementation 2020-10-20 14:00:06 +05:30
sbi_illegal_insn.c lib: sbi: Handle the case where MTVAL has illegal instruction address 2020-08-21 19:35:31 +05:30
sbi_init.c lib: sbi: Improve boot prints in cold boot sequence 2020-11-10 10:29:23 +05:30
sbi_ipi.c lib: sbi: Extend sbi_hsm_hart_started_mask() for domains 2020-10-20 11:32:40 +05:30
sbi_math.c lib: Create a separate math helper function file 2020-05-10 09:59:24 +05:30
sbi_misaligned_ldst.c lib: sbi: Fix sign-extension in sbi_misaligned_load_handler() 2020-12-24 16:35:28 +05:30
sbi_platform.c lib: sbi: Improve get_feature_str() implementation and usage 2020-05-19 09:19:34 +05:30
sbi_scratch.c lib: sbi_scratch: Introduce sbi_scratch_last_hartid() API 2020-03-28 13:32:41 +05:30
sbi_string.c lib: Add sbi_strncmp implementation 2020-07-29 12:03:45 +05:30
sbi_system.c lib: sbi: Improve system reset platform operations 2020-12-01 17:10:31 +05:30
sbi_timer.c include: sbi: Use scratch pointer as parmeter in HART feature APIs 2020-05-19 09:19:42 +05:30
sbi_tlb.c lib: sbi: Allow custom local TLB flush function 2021-01-07 09:53:19 +05:30
sbi_trap.c lib: sbi: Introduce sbi_trap_exit() API 2021-01-07 09:53:17 +05:30
sbi_unpriv.c lib: Optimize inline assembly for unprivilege access functions 2020-05-16 17:52:42 +05:30