1ARM Virtual Interrupt Translation Service (ITS) 2=============================================== 3 4Device types supported: 5 KVM_DEV_TYPE_ARM_VGIC_ITS ARM Interrupt Translation Service Controller 6 7The ITS allows MSI(-X) interrupts to be injected into guests. This extension is 8optional. Creating a virtual ITS controller also requires a host GICv3 (see 9arm-vgic-v3.txt), but does not depend on having physical ITS controllers. 10 11There can be multiple ITS controllers per guest, each of them has to have 12a separate, non-overlapping MMIO region. 13 14 15Groups: 16 KVM_DEV_ARM_VGIC_GRP_ADDR 17 Attributes: 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. 22 Errors: 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. 28 29 30 KVM_DEV_ARM_VGIC_GRP_CTRL 31 Attributes: 32 KVM_DEV_ARM_VGIC_CTRL_INIT 33 request the initialization of the ITS, no additional parameter in 34 kvm_device_attr.addr. 35 Errors: 36 -ENXIO: ITS not properly configured as required prior to setting 37 this attribute 38 -ENOMEM: Memory shortage when allocating ITS internal data 39