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: Pavel Dovgaluk
Subject: Re: [Qemu-devel] [RFC PATCH v4 06/25] cpu-exec: reset exception_index correctly
Date: Thu, 13 Nov 2014 14:41:49 +0300

> From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
> 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?

Thank you, I missed that.

Pavel Dovgalyuk




reply via email to

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