From: "Edgar E. Iglesias" <edgar.igles...@xilinx.com> Trap mbar-sleeps from user-space.
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reported-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.igles...@xilinx.com> --- target/microblaze/translate.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 530c15e5ad..a96cb21d96 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -1250,6 +1250,11 @@ static void dec_br(DisasContext *dc) LOG_DIS("sleep\n"); + if (trap_userspace(dc, true)) { + /* Sleep is a privileged instruction. */ + return; + } + t_sync_flags(dc); tcg_gen_st_i32(tmp_1, cpu_env, -offsetof(MicroBlazeCPU, env) -- 2.25.1