diff options
author | Amir Gonnen | 2022-04-21 17:16:44 +0200 |
---|---|---|
committer | Richard Henderson | 2022-04-26 17:16:40 +0200 |
commit | b106e7b7e48e5b1ab8e13165f28451f6ebf1fe3b (patch) | |
tree | e8346b77cf0f04234ec223d88583cb5786dc776a | |
parent | linux-user/nios2: Use force_sig_fault for EXCP_DEBUG (diff) | |
download | qemu-b106e7b7e48e5b1ab8e13165f28451f6ebf1fe3b.tar.gz qemu-b106e7b7e48e5b1ab8e13165f28451f6ebf1fe3b.tar.xz qemu-b106e7b7e48e5b1ab8e13165f28451f6ebf1fe3b.zip |
target/nios2: Check supervisor on eret
eret instruction is only allowed in supervisor mode.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Amir Gonnen <amir.gonnen@neuroblade.ai>
Message-Id: <20220303153906.2024748-2-amir.gonnen@neuroblade.ai>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220421151735.31996-14-richard.henderson@linaro.org>
-rw-r--r-- | target/nios2/translate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target/nios2/translate.c b/target/nios2/translate.c index 89b97ef520..eb97e13feb 100644 --- a/target/nios2/translate.c +++ b/target/nios2/translate.c @@ -384,6 +384,8 @@ static const Nios2Instruction i_type_instructions[] = { */ static void eret(DisasContext *dc, uint32_t code, uint32_t flags) { + gen_check_supervisor(dc); + tcg_gen_mov_tl(cpu_R[CR_STATUS], cpu_R[CR_ESTATUS]); tcg_gen_mov_tl(cpu_R[R_PC], cpu_R[R_EA]); |