qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH v4 06/25] cpu-exec: reset exception_index co


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RFC PATCH v4 06/25] cpu-exec: reset exception_index correctly
Date: Wed, 12 Nov 2014 13:02:58 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0


On 07/11/2014 11:32, Pavel Dovgalyuk wrote:
> Exception index is reset at every entry at every entry into cpu_exec()
> function. This may cause missing the exceptions while replaying them.
> This patch moves exception_index reset to the locations where they are
> processed.
> 
> Signed-off-by: Pavel Dovgalyuk <address@hidden>
> ---
>  cpu-exec.c |    2 +-
>  cpus.c     |    1 +
>  2 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/cpu-exec.c b/cpu-exec.c
> index 8830255..011f51f 100644
> --- a/cpu-exec.c
> +++ b/cpu-exec.c
> @@ -358,7 +358,6 @@ int cpu_exec(CPUArchState *env)
>      }
>  
>      cc->cpu_exec_enter(cpu);
> -    cpu->exception_index = -1;
>  
>      /* Calculate difference between guest clock and host clock.
>       * This delay includes the delay of the last cycle, so
> @@ -378,6 +377,7 @@ int cpu_exec(CPUArchState *env)
>                      if (ret == EXCP_DEBUG) {
>                          cpu_handle_debug_exception(env);
>                      }
> +                    cpu->exception_index = -1;
>                      break;
>                  } else {
>  #if defined(CONFIG_USER_ONLY)
> diff --git a/cpus.c b/cpus.c
> index e53d605..7e8c507 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -1016,6 +1016,7 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
>      CPU_FOREACH(cpu) {
>          cpu->thread_id = qemu_get_thread_id();
>          cpu->created = true;
> +        cpu->exception_index = -1;
>      }
>      qemu_cond_signal(&qemu_cpu_cond);
>  
> 
> 
> 

What about user-mode emulation?  Do you need to reset
cpu->exception_index for it too?

Paolo



reply via email to

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