diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2013-05-08 20:38:44 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2013-05-08 20:38:44 +0100 |
commit | 748e37258f774191e2303c61fef079004ce50f19 (patch) | |
tree | 412d0bacf0870cb18acafe83960e2e578b8ee82f | |
parent | c0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07 (diff) | |
download | qemu-arm-748e37258f774191e2303c61fef079004ce50f19.tar.gz |
HACK: kvm-all.c: Abort on kvm_arch_{get,put}_registers failure
Abort if kvm_arch_{get,put}_registers fails. Mostly for
testing purposes to avoid getting confused when the common
code silently throws away an error.
-rw-r--r-- | kvm-all.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1554,7 +1554,9 @@ static void do_kvm_cpu_synchronize_state(void *arg) CPUState *cpu = arg; if (!cpu->kvm_vcpu_dirty) { - kvm_arch_get_registers(cpu); + if (kvm_arch_get_registers(cpu)) { + abort(); + } cpu->kvm_vcpu_dirty = true; } } @@ -1570,13 +1572,17 @@ void kvm_cpu_synchronize_state(CPUArchState *env) void kvm_cpu_synchronize_post_reset(CPUState *cpu) { - kvm_arch_put_registers(cpu, KVM_PUT_RESET_STATE); + if (kvm_arch_put_registers(cpu, KVM_PUT_RESET_STATE)) { + abort(); + } cpu->kvm_vcpu_dirty = false; } void kvm_cpu_synchronize_post_init(CPUState *cpu) { - kvm_arch_put_registers(cpu, KVM_PUT_FULL_STATE); + if (kvm_arch_put_registers(cpu, KVM_PUT_FULL_STATE)) { + abort(); + } cpu->kvm_vcpu_dirty = false; } @@ -1595,7 +1601,9 @@ int kvm_cpu_exec(CPUArchState *env) do { if (cpu->kvm_vcpu_dirty) { - kvm_arch_put_registers(cpu, KVM_PUT_RUNTIME_STATE); + if (kvm_arch_put_registers(cpu, KVM_PUT_RUNTIME_STATE)) { + abort(); + } cpu->kvm_vcpu_dirty = false; } |