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 <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Reviewed-by: Eric Auger <[email protected]>
Message-id:
20220927100347[email protected]
Signed-off-by: Peter Maydell <[email protected]>
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",