On ARM architecture ITS (Interrupt Translation Service), additionally to normal MSI data, uses also side-band device IDs. This series prepares the infrastructure to handling them.
This small series is actually an extraction from vITS support RFC (https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg07074.html). Nobody reviewed it so far, however some bits of it could actually be applied early. This series consists only of those parts, which do not depend on any new unreleased kernel APIs. v4 => v5: - pci_requester_id() moved back to architecture-independent PCI code. - Use pci_requester_id() in more places. v3 => v4: - Rename msi_requester_id() to pci_requester_id() and move from MSI to PCI code v2 => v3: - Use official "requester ID" denotion everywhere. Renamed getter function and MemTxAttrs field. v1 => v2: - Improved commit messages, more explanations - msi_device_id() function made architecture-specific Pavel Fedin (3): kvm: Make KVM_CAP_SIGNAL_MSI globally available hw/pci: Introduce pci_requester_id() kvm: Pass PCI device pointer to MSI routing functions hw/i386/kvm/pci-assign.c | 11 ++++++----- hw/pci/msi.c | 2 +- hw/pci/pcie_aer.c | 2 +- hw/vfio/pci.c | 11 ++++++----- hw/virtio/virtio-pci.c | 5 +++-- include/exec/memattrs.h | 4 ++-- include/hw/pci/pci.h | 5 +++++ include/sysemu/kvm.h | 14 ++++++++++++-- kvm-all.c | 15 ++++++++------- kvm-stub.c | 5 +++-- 10 files changed, 47 insertions(+), 27 deletions(-) -- 2.4.4