diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2014-12-19 12:53:13 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2014-12-20 20:38:07 +0000 |
| commit | f9d8f6673591f30028e281e8ff6d5790adc2de83 (patch) | |
| tree | f36dd5f91920b446b3d0d5ed9e02788c2dee175e | |
| parent | b574f602680d41c4cf4a9c106e3e2244bed01cdd (diff) | |
| download | focaccia-qemu-f9d8f6673591f30028e281e8ff6d5790adc2de83.tar.gz focaccia-qemu-f9d8f6673591f30028e281e8ff6d5790adc2de83.zip | |
cpu: initialize cpu->exception_index on reset
This unbreaks linux-user (broken by e511b4d, cpu-exec: reset exception_index correctly, 2014-11-26). Reported-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com> Tested-by: Eduardo Habkost <ehabkost@redhat.com> Message-id: 1418989994-17244-2-git-send-email-pbonzini@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| -rw-r--r-- | cpus.c | 3 | ||||
| -rw-r--r-- | qom/cpu.c | 1 |
2 files changed, 1 insertions, 3 deletions
diff --git a/cpus.c b/cpus.c index 1b5168a1db..2edb5cd807 100644 --- a/cpus.c +++ b/cpus.c @@ -940,7 +940,6 @@ static void *qemu_kvm_cpu_thread_fn(void *arg) qemu_mutex_lock(&qemu_global_mutex); qemu_thread_get_self(cpu->thread); cpu->thread_id = qemu_get_thread_id(); - cpu->exception_index = -1; cpu->can_do_io = 1; current_cpu = cpu; @@ -982,7 +981,6 @@ static void *qemu_dummy_cpu_thread_fn(void *arg) qemu_mutex_lock_iothread(); qemu_thread_get_self(cpu->thread); cpu->thread_id = qemu_get_thread_id(); - cpu->exception_index = -1; cpu->can_do_io = 1; sigemptyset(&waitset); @@ -1026,7 +1024,6 @@ 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; cpu->can_do_io = 1; } qemu_cond_signal(&qemu_cpu_cond); diff --git a/qom/cpu.c b/qom/cpu.c index 79d22285f3..9c68fa4810 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -249,6 +249,7 @@ static void cpu_common_reset(CPUState *cpu) cpu->icount_extra = 0; cpu->icount_decr.u32 = 0; cpu->can_do_io = 0; + cpu->exception_index = -1; memset(cpu->tb_jmp_cache, 0, TB_JMP_CACHE_SIZE * sizeof(void *)); } |