]> git.proxmox.com Git - qemu.git/blobdiff - hw/a15mpcore.c
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
[qemu.git] / hw / a15mpcore.c
index d973d53f0a4cb6417f0d471a323baaf5fc3e2870..648656d5b48b6911e382f7f214fb613ad97889f0 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 #include "hw/sysbus.h"
+#include "sysemu/kvm.h"
 
 /* A15MP private memory region.  */
 
@@ -40,8 +41,13 @@ static int a15mp_priv_init(SysBusDevice *dev)
 {
     A15MPPrivState *s = FROM_SYSBUS(A15MPPrivState, dev);
     SysBusDevice *busdev;
+    const char *gictype = "arm_gic";
 
-    s->gic = qdev_create(NULL, "arm_gic");
+    if (kvm_irqchip_in_kernel()) {
+        gictype = "kvm-arm-gic";
+    }
+
+    s->gic = qdev_create(NULL, gictype);
     qdev_prop_set_uint32(s->gic, "num-cpu", s->num_cpu);
     qdev_prop_set_uint32(s->gic, "num-irq", s->num_irq);
     qdev_prop_set_uint32(s->gic, "revision", 2);