diff options
author | Andre Przywara <andre.przywara@arm.com> | 2017-04-25 15:39:32 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2017-06-09 11:16:47 +0100 |
commit | 76392d29aeeafe2a26c2ec06156a43e11b6cadd6 (patch) | |
tree | 4d3ca1955a572103122adb0b46c275ae112a420f | |
parent | f9ef46f2f7816cc70cedf41a9c65c20e846886d8 (diff) | |
download | kvmtool-76392d29aeeafe2a26c2ec06156a43e11b6cadd6.tar.gz |
arm64: enable GICv3-ITS emulation
With everything in place for the ITS emulation add a new option to the
--irqchip parameter to allow the user to specify --irqchip=gicv3-its
to enable the ITS emulation.
This will trigger creating the FDT node and an ITS register frame to
tell the kernel we want ITS emulation in the guest.
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r-- | arm/gic.c | 2 | ||||
-rw-r--r-- | arm/include/arm-common/kvm-config-arch.h | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -26,6 +26,8 @@ int irqchip_parser(const struct option *opt, const char *arg, int unset) *type = IRQCHIP_GICV2; } else if (!strcmp(arg, "gicv3")) { *type = IRQCHIP_GICV3; + } else if (!strcmp(arg, "gicv3-its")) { + *type = IRQCHIP_GICV3_ITS; } else { pr_err("irqchip: unknown type \"%s\"\n", arg); return -1; diff --git a/arm/include/arm-common/kvm-config-arch.h b/arm/include/arm-common/kvm-config-arch.h index ed626b58..b48e7201 100644 --- a/arm/include/arm-common/kvm-config-arch.h +++ b/arm/include/arm-common/kvm-config-arch.h @@ -27,7 +27,7 @@ int irqchip_parser(const struct option *opt, const char *arg, int unset); "Force virtio devices to use PCI as their default " \ "transport"), \ OPT_CALLBACK('\0', "irqchip", &(cfg)->irqchip, \ - "[gicv2|gicv3]", \ + "[gicv2|gicv3|gicv3-its]", \ "Type of interrupt controller to emulate in the guest", \ irqchip_parser, NULL), |