diff mbox

arm: Bugfix: Fix cpu_reset() / vcpu_init() order

Message ID 1401189893-12067-1-git-send-email-christoffer.dall@linaro.org
State Superseded
Headers show

Commit Message

Christoffer Dall May 27, 2014, 11:24 a.m. UTC
This fix a bug introduced by commit
50a2c6e55fa2ce5a2916a2c206bad2c6b0e06df1, but I'm not sure it is a
proper fix.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
---
 target-arm/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell May 27, 2014, 12:12 p.m. UTC | #1
On 27 May 2014 12:24, Christoffer Dall <christoffer.dall@linaro.org> wrote:
> This fix a bug introduced by commit
> 50a2c6e55fa2ce5a2916a2c206bad2c6b0e06df1, but I'm not sure it is a
> proper fix.

This commit message could use being beefed up a bit.
(I tend to recommend that commentary like "not sure
this is right" goes below the '---'.)
Suggested:

target-arm: Fix segfault on startup when KVM enabled

Commit 50a2c6e55fa introduced a bug where QEMU would
segfault on startup when using KVM on ARM hosts, because
kvm_arm_reset_cpu() accesses cpu->cpreg_reset_values, which
is not allocated before kvm_arch_init_vcpu(). Fix this
by not calling cpu_reset() until after qemu_init_vcpu().

> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
diff mbox

Patch

diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index 6c6f2b3..794dcb9 100644
--- a/target-arm/cpu.c
+++ b/target-arm/cpu.c
@@ -370,8 +370,8 @@  static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
 
     init_cpreg_list(cpu);
 
-    cpu_reset(cs);
     qemu_init_vcpu(cs);
+    cpu_reset(cs);
 
     acc->parent_realize(dev, errp);
 }