Implement instruction fetch, loads and stores using current privilege level and flags e.g. MSTATUS.{MPRV,PUM,MXR,VM}
fetch_inst
load
store
walk_page_table
Implement a minimal subset of PMA with PMP attributes (emu/riscv-pma.h) to protect M-mode PA from S-mode.
switch (proc.mstatus.vm) {
case riscv_vm_mbare: /* TODO */ break;
case riscv_vm_mbb: /* TODO */ break;
case riscv_vm_mbid: /* TODO */ break;
case riscv_vm_sv32: /* TODO */ break;
case riscv_vm_sv39: /* TODO */ break;
case riscv_vm_sv48: /* TODO */ break;
}
Implement instruction fetch, loads and stores using current privilege level and flags e.g.
MSTATUS.{MPRV,PUM,MXR,VM}
Implement a minimal subset of PMA with PMP attributes (
emu/riscv-pma.h
) to protect M-mode PA from S-mode.