This patchset tries to fix some problems in current implementation for mstatus.MPP
The port is available here: https://github.com/plctlab/plct-qemu/tree/plct-mpp-fix-v3 v3: * add patch 2 to remove PRV_H, and use PRV_RESERVED instead in some cases * improve legalize_mpp and assert error message in patch 3 v2: * Modify commit message and add comment to specify MPP field becomes a WARL field since priv version 1.11 in patch 2 * rebase on riscv-to-apply.next Weiwei Li (3): target/riscv: Fix the mstatus.MPP value after executing MRET target/riscv: Use PRV_RESERVED instead of PRV_H target/riscv: Legalize MPP value in write_mstatus target/riscv/cpu.h | 2 +- target/riscv/cpu_bits.h | 2 +- target/riscv/cpu_helper.c | 8 ++------ target/riscv/csr.c | 32 ++++++++++++++++++++++++++++++++ target/riscv/gdbstub.c | 2 +- target/riscv/op_helper.c | 5 +++-- 6 files changed, 40 insertions(+), 11 deletions(-) -- 2.25.1