summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoffer Dall <christoffer.dall@linaro.org>2014-05-27 14:37:43 +0200
committerPeter Maydell <peter.maydell@linaro.org>2014-05-27 13:55:39 +0100
commit00d0f7cb6617f50be90e7dbb90a83d87b33f7695 (patch)
tree0e74f1eb3ef10dc25d77d4ba43b643a188f2017c
parent178ac111bca16c08a79b2609ebdc75197bea976a (diff)
downloadqemu-00d0f7cb6617f50be90e7dbb90a83d87b33f7695.tar.gz
qemu-00d0f7cb6617f50be90e7dbb90a83d87b33f7695.tar.bz2
qemu-00d0f7cb6617f50be90e7dbb90a83d87b33f7695.zip
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> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Faerber <afaerber@suse.de> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Message-id: 1401194263-13010-1-git-send-email-christoffer.dall@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target-arm/cpu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index 6c6f2b3d46..794dcb9fb7 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);
}