dcavalca / rpms / qemu

Forked from rpms/qemu a year ago
Clone

Blame 0010-hw-arm-virt-Reject-gic-version-host-for-non-KVM.patch

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