f0208c9
From: Cole Robinson <crobinso@redhat.com>
f0208c9
Date: Thu, 26 May 2016 09:55:21 -0400
f0208c9
Subject: [PATCH] hw/arm/virt: Reject gic-version=host for non-KVM
f0208c9
f0208c9
If you try to gic-version=host with TCG on a KVM aarch64 host,
f0208c9
qemu segfaults, since host requires KVM APIs.
f0208c9
f0208c9
Explicitly reject gic-version=host if KVM is not enabled
f0208c9
f0208c9
https://bugzilla.redhat.com/show_bug.cgi?id=1339977
f0208c9
(cherry picked from commit b1b3b0dd143b7995a7f4062966b80a2cf3e3c71e)
f0208c9
---
f0208c9
 hw/arm/virt.c | 6 +++++-
f0208c9
 1 file changed, 5 insertions(+), 1 deletion(-)
f0208c9
f0208c9
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
f0208c9
index 56d35c7..a535285 100644
f0208c9
--- a/hw/arm/virt.c
f0208c9
+++ b/hw/arm/virt.c
f0208c9
@@ -1114,10 +1114,14 @@ static void machvirt_init(MachineState *machine)
f0208c9
      * KVM is not available yet
f0208c9
      */
f0208c9
     if (!gic_version) {
f0208c9
+        if (!kvm_enabled()) {
f0208c9
+            error_report("gic-version=host requires KVM");
f0208c9
+            exit(1);
f0208c9
+        }
f0208c9
+
f0208c9
         gic_version = kvm_arm_vgic_probe();
f0208c9
         if (!gic_version) {
f0208c9
             error_report("Unable to determine GIC version supported by host");
f0208c9
-            error_printf("KVM acceleration is probably not supported\n");
f0208c9
             exit(1);
f0208c9
         }
f0208c9
     }