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?

Again the translate.c code for reference:

    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;

---

Thanks,

CLaudio

  

Reply via email to