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