From: Amir Gonnen Date: Thu, 21 Apr 2022 15:16:44 +0000 (-0700) Subject: target/nios2: Check supervisor on eret X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b106e7b7e48e5b1ab8e13165f28451f6ebf1fe3b;p=qemu.git target/nios2: Check supervisor on eret eret instruction is only allowed in supervisor mode. Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson Signed-off-by: Amir Gonnen Message-Id: <20220303153906.2024748-2-amir.gonnen@neuroblade.ai> Signed-off-by: Richard Henderson Message-Id: <20220421151735.31996-14-richard.henderson@linaro.org> --- 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]);