opensbi/lib
Anup Patel a6395acd6c lib: Handle page/access fault caused by unpriv load/store
The unpriv load/store instruction from M-mode can cause page/access
fault to M-mode if S-mode page table did not have mappings OR it did
not have PMP access permission.

To tackle this, we redirect trap back to S-mode if unpriv load/store
instruction traps in M-mode.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
2019-05-24 08:22:47 +05:30
..
objects.mk include: Make unprivilege load/store functions as non-inline functions 2019-05-24 08:22:47 +05:30
riscv_asm.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
riscv_atomic.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
riscv_hardfp.S all: Update copyright header in all files 2019-01-24 14:07:47 +05:30
riscv_locks.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
riscv_unpriv.c lib: Handle page/access fault caused by unpriv load/store 2019-05-24 08:22:47 +05:30
sbi_console.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
sbi_ecall.c lib: Handle page/access fault caused by unpriv load/store 2019-05-24 08:22:47 +05:30
sbi_emulate_csr.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
sbi_fifo.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
sbi_hart.c lib: Add per-HART trap info pointer 2019-05-24 08:22:47 +05:30
sbi_illegal_insn.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
sbi_init.c lib: Add per-HART trap info pointer 2019-05-24 08:22:47 +05:30
sbi_ipi.c lib: Handle page/access fault caused by unpriv load/store 2019-05-24 08:22:47 +05:30
sbi_misaligned_ldst.c lib: Handle page/access fault caused by unpriv load/store 2019-05-24 08:22:47 +05:30
sbi_scratch.c lib: Add a simple brain-dead allocator to manage extra scratch space 2019-05-24 08:22:47 +05:30
sbi_system.c lib: Handle page/access fault caused by unpriv load/store 2019-05-24 08:22:47 +05:30
sbi_timer.c all: run clang-format and update checked-in files 2019-04-24 09:49:46 +05:30
sbi_tlb.c lib: Factor-out TLB management from IPI management 2019-05-24 08:22:47 +05:30
sbi_trap.c lib: Handle page/access fault caused by unpriv load/store 2019-05-24 08:22:47 +05:30