diff mbox series

[PULL,08/10] hw/arm/virt: Use "msi-map" devicetree property for PCI

Message ID 20220930133511.2112734-9-peter.maydell@linaro.org
State Accepted
Commit 6b2f3ac945b75f548ab7ca37ac239dc981f7dfc3
Headers show
Series [PULL,01/10] target/arm: Mark registers which call pmu_op_start() as ARM_CP_IO | expand

Commit Message

Peter Maydell Sept. 30, 2022, 1:35 p.m. UTC
From: Jean-Philippe Brucker <jean-philippe@linaro.org>

The "msi-parent" property can be used on the PCI node when MSIs do not
contain sideband data (device IDs) [1]. In QEMU, MSI transactions
contain the requester ID, so the PCI node should use the "msi-map"
property instead of "msi-parent". In our case the property describes an
identity map between requester ID and sideband data.

This fixes a warning when passing the DTB generated by QEMU to dtc,
following a recent change to the GICv3 node:

  Warning (msi_parent_property): /pcie@10000000:msi-parent: property size (4) too small for cell size 1

[1] linux/Documentation/devicetree/bindings/pci/pci-msi.txt

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20220927100347.176606-4-jean-philippe@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/arm/virt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 41b88dd1444..b67ba0f2a10 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1490,8 +1490,8 @@  static void create_pcie(VirtMachineState *vms)
     qemu_fdt_setprop(ms->fdt, nodename, "dma-coherent", NULL, 0);
 
     if (vms->msi_phandle) {
-        qemu_fdt_setprop_cells(ms->fdt, nodename, "msi-parent",
-                               vms->msi_phandle);
+        qemu_fdt_setprop_cells(ms->fdt, nodename, "msi-map",
+                               0, vms->msi_phandle, 0, 0x10000);
     }
 
     qemu_fdt_setprop_sized_cells(ms->fdt, nodename, "reg",