1 ARM Virtual Interrupt Translation Service (ITS)
2 ===============================================
4 Device types supported:
5 KVM_DEV_TYPE_ARM_VGIC_ITS ARM Interrupt Translation Service Controller
7 The ITS allows MSI(-X) interrupts to be injected into guests. This extension is
8 optional. Creating a virtual ITS controller also requires a host GICv3 (see
9 arm-vgic-v3.txt), but does not depend on having physical ITS controllers.
11 There can be multiple ITS controllers per guest, each of them has to have
12 a separate, non-overlapping MMIO region.
16 KVM_DEV_ARM_VGIC_GRP_ADDR
18 KVM_VGIC_ITS_ADDR_TYPE (rw, 64-bit)
19 Base address in the guest physical address space of the GICv3 ITS
20 control register frame.
21 This address needs to be 64K aligned and the region covers 128K.
23 -E2BIG: Address outside of addressable IPA range
24 -EINVAL: Incorrectly aligned address
25 -EEXIST: Address already configured
26 -EFAULT: Invalid user pointer for attr->addr.
27 -ENODEV: Incorrect attribute or the ITS is not supported.
30 KVM_DEV_ARM_VGIC_GRP_CTRL
32 KVM_DEV_ARM_VGIC_CTRL_INIT
33 request the initialization of the ITS, no additional parameter in
36 -ENXIO: ITS not properly configured as required prior to setting
38 -ENOMEM: Memory shortage when allocating ITS internal data