From: Edgar E. Iglesias Date: Mon, 17 Aug 2020 17:07:19 +0000 (+0200) Subject: target/microblaze: mbar: Trap sleeps from user-space X-Git-Tag: v5.2.0-rc0~163^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b4919e7dd32ccee3b807b6860bb72f91cd19f063;p=thirdparty%2Fqemu.git target/microblaze: mbar: Trap sleeps from user-space Trap mbar-sleeps from user-space. Reviewed-by: Richard Henderson Reported-by: Richard Henderson Signed-off-by: Edgar E. Iglesias --- diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 530c15e5ad6..a96cb21d96c 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)