qemu-patch-raspberry4/hw/pci
Jason Wang 4c70875372 pci: advertise a page aligned ATS
After Linux kernel commit 61363c1474b1 ("iommu/vt-d: Enable ATS only
if the device uses page aligned address."), ATS will be only enabled
if device advertises a page aligned request.

Unfortunately, vhost-net is the only user and we don't advertise the
aligned request capability in the past since both vhost IOTLB and
address_space_get_iotlb_entry() can support non page aligned request.

Though it's not clear that if the above kernel commit makes
sense. Let's advertise a page aligned ATS here to make vhost device
IOTLB work with Intel IOMMU again.

Note that in the future we may extend pcie_ats_init() to accept
parameters like queue depth and page alignment.

Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20200909081731.24688-1-jasowang@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-10-30 06:48:53 -04:00
..
Kconfig kconfig: add CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
meson.build meson: convert hw/pci 2020-08-21 06:30:28 -04:00
msi.c pci/msi: export msi_is_masked() 2019-02-05 10:58:33 -05:00
msix.c * Miscellaneous fixes and feature enablement (many) 2020-06-12 23:06:22 +01:00
pci-stub.c qapi: Extract PCI commands to 'pci.json' 2020-09-29 15:41:36 +02:00
pci.c pci: Assert irqnum is between 0 and bus->nirqs in pci_bus_change_irq_level 2020-10-30 04:29:13 -04:00
pci_bridge.c hw/pci/pci_bridge: Use the IEC binary prefix definitions 2020-06-09 14:18:04 -04:00
pci_host.c hw/pci-host: save/restore pci host config register 2020-07-27 10:24:39 -04:00
pcie.c pci: advertise a page aligned ATS 2020-10-30 06:48:53 -04:00
pcie_aer.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
pcie_host.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
pcie_port.c pcie_root_port: Add hotplug disabling option 2020-03-08 09:18:29 -04:00
shpc.c qdev: Drop qbus_set_hotplug_handler() parameter @errp 2020-07-02 06:25:29 +02:00
slotid_cap.c pci: Convert shpc_init() to Error 2017-07-03 22:29:49 +03:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00