diff options
author | Christoffer Dall | 2014-05-27 14:37:43 +0200 |
---|---|---|
committer | Peter Maydell | 2014-05-27 14:55:39 +0200 |
commit | 00d0f7cb6617f50be90e7dbb90a83d87b33f7695 (patch) | |
tree | 0e74f1eb3ef10dc25d77d4ba43b643a188f2017c /target-arm | |
parent | Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging (diff) | |
download | qemu-00d0f7cb6617f50be90e7dbb90a83d87b33f7695.tar.gz qemu-00d0f7cb6617f50be90e7dbb90a83d87b33f7695.tar.xz 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>
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/cpu.c | 2 |
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); } |