@@ -1592,6 +1592,12 @@ int kvm_cpu_exec(CPUArchState *env)
qemu_system_reset_request();
ret = EXCP_INTERRUPT;
break;
+ case KVM_EXIT_AER_SHUTDOWN:
+ fprintf(stderr, "KVM: PCI device assigned to guest encountered "
+ "an uncorrectable error. Stopping guest\n");
+ qemu_system_shutdown_request();
+ ret = EXCP_INTERRUPT;
+ break;
case KVM_EXIT_UNKNOWN:
fprintf(stderr, "KVM: unknown exit, hardware reason %" PRIx64 "\n",
(uint64_t)run->hw.hardware_exit_reason);
@@ -167,6 +167,7 @@ struct kvm_pit_config {
#define KVM_EXIT_OSI 18
#define KVM_EXIT_PAPR_HCALL 19
#define KVM_EXIT_S390_UCONTROL 20
+#define KVM_EXIT_AER_SHUTDOWN 21
/* For KVM_EXIT_INTERNAL_ERROR */
#define KVM_INTERNAL_ERROR_EMULATION 1
- When KVM_RUN ioctl returns with an exit reason requesting a shutdown of the guest due to a PCI device error detected by AER, shutdown the guest immediately. Signed-off-by: Vijay Mohan Pandarathil <vijaymohan.pandarathil@hp.com> --- kvm-all.c | 6 ++++++ linux-headers/linux/kvm.h | 1 + 2 files changed, 7 insertions(+)