[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 04/38] s390x/pci: fixup ind_offset of msix routing
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL v2 04/38] s390x/pci: fixup ind_offset of msix routing entry |
Date: |
Tue, 19 Sep 2017 18:43:03 +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 1130a391d4..375369fd1c 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 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 <=
- [Qemu-devel] [PULL v2 05/38] s390x/pci: add iommu replay callback, Cornelia Huck, 2017/09/19
- [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