[<prev] [next>] [day] [month] [year] [list]
Message-ID: <F9E001219150CB45BEDC82A650F360C90146FD06@G4W3208.americas.hpqcorp.net>
Date: Tue, 20 Nov 2012 06:32:38 +0000
From: "Pandarathil, Vijaymohan R" <vijaymohan.pandarathil@...com>
To: "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"qemu-devel@...gnu.org" <qemu-devel@...gnu.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: [PATCH 4/4] AER-QEMU: Bring down the guest when KVM detects a PCI
device error
- 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@...com>
---
kvm-all.c | 6 ++++++
linux-headers/linux/kvm.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/kvm-all.c b/kvm-all.c
index b6d0483..aaff44c 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -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);
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index 81d2feb..64906ef 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -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
--
1.7.11.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists