[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 05/38] s390x/pci: add iommu replay callback
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 05/38] s390x/pci: add iommu replay callback |
Date: |
Tue, 19 Sep 2017 16:56:03 +0200 |
From: Yi Min Zhao <address@hidden>
Let's introduce iommu replay callback for s390 pci iommu memory region.
Currently we don't need any dma mapping replay. So let it return
directly. This implementation will avoid meaningless loops calling
translation callback.
Reviewed-by: Pierre Morel <address@hidden>
Reviewed-by: Halil Pasic <address@hidden>
Signed-off-by: Yi Min Zhao <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/s390-pci-bus.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index bd8a3e1e1c..3b9965fde0 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -397,6 +397,17 @@ static IOMMUTLBEntry
s390_translate_iommu(IOMMUMemoryRegion *mr, hwaddr addr,
return ret;
}
+static void s390_pci_iommu_replay(IOMMUMemoryRegion *iommu,
+ IOMMUNotifier *notifier)
+{
+ /* It's impossible to plug a pci device on s390x that already has iommu
+ * mappings which need to be replayed, that is due to the "one iommu per
+ * zpci device" construct. But when we support migration of vfio-pci
+ * devices in future, we need to revisit this.
+ */
+ return;
+}
+
static S390PCIIOMMU *s390_pci_get_iommu(S390pciState *s, PCIBus *bus,
int devfn)
{
@@ -1045,6 +1056,7 @@ static void
s390_iommu_memory_region_class_init(ObjectClass *klass, void *data)
IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_CLASS(klass);
imrc->translate = s390_translate_iommu;
+ imrc->replay = s390_pci_iommu_replay;
}
static const TypeInfo s390_iommu_memory_region_info = {
--
2.13.5
- [Qemu-devel] [PULL 00/38] various s390x patches (+some fixes), Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 01/38] s390x/css: fix cc handling for XSCH, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 02/38] tests: Enable the drive_del test also on s390x, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 03/38] s390x/pci: remove idx from msix msg data, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 04/38] s390x/pci: fixup ind_offset of msix routing entry, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 05/38] s390x/pci: add iommu replay callback,
Cornelia Huck <=
- [Qemu-devel] [PULL 06/38] hw/misc/ivshmem: Fix ivshmem_recv_msg() to also work on big endian systems, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 09/38] s390x/css: remove unused error handling branch, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 07/38] s390x/css: drop data-check in interpretation, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 08/38] s390x/css: fix NULL handling for CCW addresses, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 10/38] s390: set DHCP client architecure id for netboot, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 11/38] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 12/38] cpu: drop old comments describing members, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 13/38] s390x: get rid of s390-virtio.c, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 15/38] s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL 14/38] s390x: rename s390-virtio.h to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19