[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
- Re: [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU, (continued)
Re: [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU, Alex Bennée, 2017/03/06
Re: [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU, Alex Bennée, 2017/03/06
Re: [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU, Alexander Boettcher, 2017/03/06
Re: [Qemu-devel] Qemu deadlocks in tb_lock when using SVM+SoftMMU, Paolo Bonzini, 2017/03/06