mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
virtio-pci: address space translation service (ATS) support
This patches enable the Address Translation Service support for virtio pci devices. This is needed for a guest visible Device IOTLB implementation and will be required by vhost device IOTLB API implementation for intel IOMMU. Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
554f5e1604
commit
615c4ed205
5 changed files with 31 additions and 0 deletions
|
@ -1815,6 +1815,11 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp)
|
|||
* PCI Power Management Interface Specification.
|
||||
*/
|
||||
pci_set_word(pci_dev->config + pos + PCI_PM_PMC, 0x3);
|
||||
|
||||
if (proxy->flags & VIRTIO_PCI_FLAG_ATS) {
|
||||
pcie_ats_init(pci_dev, 256);
|
||||
}
|
||||
|
||||
} else {
|
||||
/*
|
||||
* make future invocations of pci_is_express() return false
|
||||
|
@ -1868,6 +1873,8 @@ static Property virtio_pci_properties[] = {
|
|||
VIRTIO_PCI_FLAG_PAGE_PER_VQ_BIT, false),
|
||||
DEFINE_PROP_BOOL("x-ignore-backend-features", VirtIOPCIProxy,
|
||||
ignore_backend_features, false),
|
||||
DEFINE_PROP_BIT("ats", VirtIOPCIProxy, flags,
|
||||
VIRTIO_PCI_FLAG_ATS_BIT, false),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue