On 2/15/21 2:30 PM, Paolo Bonzini wrote:
On 15/02/21 13:59, Claudio Fontana wrote:
Yes. The difference between before the patch and after the patch
is that before we were still going through all the code in
tcg_gen_callN, via the call to gen_helper_rsm macro, only to call
finally an empty function for CONFIG_USER_ONLY (helper_rsm()
{}),
while now we do not generate anything, we do not call the
gen_helper_rsm macro at all, so we don't go through
tcg_gen_callN.
Can we even have an abort() for such cases?
Paolo
Hi Paolo,
where are you suggesting to have an abort()?
You mean that we should abort() QEMU as soon as we detect in
translate.c an RSM instruction in user-mode?
case 0x1aa: /* rsm */
gen_svm_check_intercept(s, pc_start, SVM_EXIT_RSM);
if (!(s->flags & HF_SMM_MASK))
goto illegal_op;
gen_update_cc_op(s);
gen_jmp_im(s, s->pc - s->cs_base);
#ifndef CONFIG_USER_ONLY
gen_helper_rsm(cpu_env);
#endif /* CONFIG_USER_ONLY */
gen_eob(s);
break;