[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 04/38] s390x/pci: fixup ind_offset of msix routing en
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 04/38] s390x/pci: fixup ind_offset of msix routing entry |
Date: |
Tue, 19 Sep 2017 16:56:02 +0200 |
From: Yi Min Zhao <address@hidden>
The guest uses the mpcifc instruction to register the aibvo of a zpci
device, which is the starting offset of indicators in the indicator
area and thus remains constant. Each msix vector is an offset from the
aibvo. When we map a msix route to an adapter route, we should not
modify the starting offset, but instead add the vector to the starting
offset to get the absolute offset in the specific route.
Signed-off-by: Yi Min Zhao <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
target/s390x/kvm.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 7478edeb70..cd2204baef 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2436,14 +2436,12 @@ int kvm_arch_fixup_msi_route(struct
kvm_irq_routing_entry *route,
return -ENODEV;
}
- pbdev->routes.adapter.ind_offset = vec;
-
route->type = KVM_IRQ_ROUTING_S390_ADAPTER;
route->flags = 0;
route->u.adapter.summary_addr = pbdev->routes.adapter.summary_addr;
route->u.adapter.ind_addr = pbdev->routes.adapter.ind_addr;
route->u.adapter.summary_offset = pbdev->routes.adapter.summary_offset;
- route->u.adapter.ind_offset = pbdev->routes.adapter.ind_offset;
+ route->u.adapter.ind_offset = pbdev->routes.adapter.ind_offset + vec;
route->u.adapter.adapter_id = pbdev->routes.adapter.adapter_id;
return 0;
}
--
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 <=
- [Qemu-devel] [PULL 05/38] s390x/pci: add iommu replay callback, Cornelia Huck, 2017/09/19
- [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