[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 05/38] s390x/pci: add iommu replay callback
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL v2 05/38] s390x/pci: add iommu replay callback |
Date: |
Tue, 19 Sep 2017 18:43:04 +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 v2 00/38] various s390x patches (+some fixes), Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 01/38] s390x/css: fix cc handling for XSCH, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 02/38] tests: Enable the drive_del test also on s390x, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 03/38] s390x/pci: remove idx from msix msg data, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 04/38] s390x/pci: fixup ind_offset of msix routing entry, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 05/38] s390x/pci: add iommu replay callback,
Cornelia Huck <=
- [Qemu-devel] [PULL v2 06/38] hw/misc/ivshmem: Fix ivshmem_recv_msg() to also work on big endian systems, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 07/38] s390x/css: drop data-check in interpretation, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 08/38] s390x/css: fix NULL handling for CCW addresses, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 09/38] s390x/css: remove unused error handling branch, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 10/38] s390: set DHCP client architecure id for netboot, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 11/38] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 12/38] cpu: drop old comments describing members, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 13/38] s390x: get rid of s390-virtio.c, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 14/38] s390x: rename s390-virtio.h to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 15/38] s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19