aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2013-05-08 20:38:44 +0100
committerPeter Maydell <peter.maydell@linaro.org>2013-05-08 20:38:44 +0100
commit748e37258f774191e2303c61fef079004ce50f19 (patch)
tree412d0bacf0870cb18acafe83960e2e578b8ee82f
parentc0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07 (diff)
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.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/kvm-all.c b/kvm-all.c
index 3a31602359..959306d197 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -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;
}