[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
- Re: [Qemu-devel] [RFC PATCH v4 02/25] mc146818rtc: add missed field to vmstate, (continued)
- [Qemu-devel] [RFC PATCH v4 03/25] replay: global variables and function stubs, Pavel Dovgalyuk, 2014/11/07
- [Qemu-devel] [RFC PATCH v4 04/25] sysemu: system functions for replay, Pavel Dovgalyuk, 2014/11/07
- [Qemu-devel] [RFC PATCH v4 05/25] replay: internal functions for replay log, Pavel Dovgalyuk, 2014/11/07
- [Qemu-devel] [RFC PATCH v4 06/25] cpu-exec: reset exception_index correctly, Pavel Dovgalyuk, 2014/11/07
- [Qemu-devel] [RFC PATCH v4 07/25] icount: implement icount requesting, Pavel Dovgalyuk, 2014/11/07
[Qemu-devel] [RFC PATCH v4 08/25] icount: improve enable/disable ticks, Pavel Dovgalyuk, 2014/11/07
[Qemu-devel] [RFC PATCH v4 09/25] replay: introduce icount event, Pavel Dovgalyuk, 2014/11/07
[Qemu-devel] [RFC PATCH v4 10/25] i386: do not cross the pages boundaries in replay mode, Pavel Dovgalyuk, 2014/11/07