mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-08-26 08:07:00 +00:00
tools/kvm: Exit gracefully upon KVM_EXIT_SHUTDOWN
This patch changes the userspace hypervisor to exit gracefully upon KVM_EXIT_SHUTDOWN which is triggered when guest userspace is shut down. Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
committed by
Will Deacon
parent
03110ff36b
commit
8315b1925c
@@ -190,7 +190,7 @@ int main(int argc, char *argv[])
|
||||
kvm->kvm_run->io.count);
|
||||
|
||||
if (!ret)
|
||||
goto exit_kvm;
|
||||
goto panic_kvm;
|
||||
break;
|
||||
}
|
||||
case KVM_EXIT_MMIO: {
|
||||
@@ -203,30 +203,34 @@ int main(int argc, char *argv[])
|
||||
kvm->kvm_run->mmio.is_write);
|
||||
|
||||
if (!ret)
|
||||
goto exit_kvm;
|
||||
goto panic_kvm;
|
||||
break;
|
||||
}
|
||||
case KVM_EXIT_INTR: {
|
||||
serial8250__interrupt(kvm);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
case KVM_EXIT_SHUTDOWN:
|
||||
goto exit_kvm;
|
||||
default:
|
||||
goto panic_kvm;
|
||||
}
|
||||
}
|
||||
|
||||
exit_kvm:
|
||||
kvm__delete(kvm);
|
||||
|
||||
return 0;
|
||||
|
||||
panic_kvm:
|
||||
fprintf(stderr, "KVM exit reason: %" PRIu32 " (\"%s\")\n",
|
||||
kvm->kvm_run->exit_reason, kvm_exit_reasons[kvm->kvm_run->exit_reason]);
|
||||
if (kvm->kvm_run->exit_reason == KVM_EXIT_UNKNOWN)
|
||||
fprintf(stderr, "KVM exit code: 0x%" PRIu64 "\n",
|
||||
kvm->kvm_run->hw.hardware_exit_reason);
|
||||
|
||||
kvm__show_registers(kvm);
|
||||
kvm__show_code(kvm);
|
||||
kvm__show_page_tables(kvm);
|
||||
kvm__delete(kvm);
|
||||
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user