qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target/i386: move nested exception check to x86


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH] target/i386: move nested exception check to x86_cpu_exec_interrupt
Date: Tue, 07 Mar 2017 15:03:41 +0000
User-agent: mu4e 0.9.19; emacs 25.2.8

Richard Henderson <address@hidden> writes:

> On 03/07/2017 02:57 AM, Alex Bennée wrote:
>>      cs->exception_index = intno;
>>      env->error_code = error_code;
>>      env->exception_is_int = is_int;
>>      env->exception_next_eip = env->eip + next_eip_addend;
>> +    env->exception_retaddr = retaddr;
>>      cpu_loop_exit_restore(cs, retaddr);
>
> Since you've restored state here, I don't see that you need to save
> the retaddr at all ...
>
>> +    if (!env->exception_is_int) {
>> +        cpu_svm_check_intercept_param(env,
>> +                                      SVM_EXIT_EXCP_BASE + 
>> cs->exception_index,
>> +                                      env->error_code,
>> +                                      env->exception_retaddr);
>> +        cs->exception_index = check_exception(env, cs->exception_index,
>> +                                              &env->error_code,
>> +                                              env->exception_retaddr);
>> +    } else {
>> +        cpu_svm_check_intercept_param(env, SVM_EXIT_SWINT, 0,
>> +                                      env->exception_retaddr);
>> +    }
>
> ... simply pass zero here instead.
>
> But do I see correctly from the thread that we don't have a reproducer?

Yeah - I've nabbed Paolo's much cleaner and more informed fix and that
seems fine.

--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]