[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/10] hw/arm/virt: Fix devicetree warnings about the virtio-iomm
From: |
Jean-Philippe Brucker |
Subject: |
[PATCH 10/10] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node |
Date: |
Wed, 24 Aug 2022 16:51:14 +0100 |
dt-validate and dtc throw a few warnings when parsing the virtio-iommu
node:
pcie@10000000: virtio_iommu@16:compatible: ['virtio,pci-iommu'] does not
contain items matching the given schema
pcie@10000000: Unevaluated properties are not allowed (... 'virtio_iommu@16'
were unexpected)
From schema: linux/Documentation/devicetree/bindings/pci/host-generic-pci.yaml
pcie@10000000: virtio_iommu@16:compatible: ['virtio,pci-iommu'] does not
contain items matching the given schema
From schema: dtschema/schemas/pci/pci-bus.yaml
Warning (pci_device_reg): /pcie@10000000/virtio_iommu@16: PCI unit address
format error, expected "2,0"
The compatible property for a PCI child node should follow the rules
from "PCI Bus Binding to: IEEE Std 1275-1994". It should contain the
Vendor ID and Device ID (or class code).
The unit-name should be "device,function".
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
---
Note that this doesn't follow
linux/Documentation/devicetree/bindings/virtio/iommu.txt, I'll update
that document when converting it to yaml, hopefully this Linux cycle.
The "virtio,pci-iommu" compatible string is not actually used by any
driver and only QEMU implements it, so we can get rid of it.
---
hw/arm/virt.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index de508d5329..08b79592eb 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1374,14 +1374,15 @@ static void create_smmu(const VirtMachineState *vms,
static void create_virtio_iommu_dt_bindings(VirtMachineState *vms)
{
- const char compat[] = "virtio,pci-iommu";
+ const char compat[] = "pci1af4,1057";
uint16_t bdf = vms->virtio_iommu_bdf;
MachineState *ms = MACHINE(vms);
char *node;
vms->iommu_phandle = qemu_fdt_alloc_phandle(ms->fdt);
- node = g_strdup_printf("%s/virtio_iommu@%d", vms->pciehb_nodename, bdf);
+ node = g_strdup_printf("%s/virtio_iommu@%x,%x", vms->pciehb_nodename,
+ PCI_SLOT(bdf), PCI_FUNC(bdf));
qemu_fdt_add_subnode(ms->fdt, node);
qemu_fdt_setprop(ms->fdt, node, "compatible", compat, sizeof(compat));
qemu_fdt_setprop_sized_cells(ms->fdt, node, "reg",
--
2.37.1
- [PATCH 01/10] hw/arm/virt: Fix devicetree warning about the root node, (continued)
- [PATCH 01/10] hw/arm/virt: Fix devicetree warning about the root node, Jean-Philippe Brucker, 2022/08/24
- [PATCH 06/10] hw/arm/virt: Fix devicetree warning about the gpio-key node, Jean-Philippe Brucker, 2022/08/24
- [PATCH 02/10] hw/arm/boot: Fix devicetree warning about the PSCI node, Jean-Philippe Brucker, 2022/08/24
- [PATCH 07/10] hw/arm/virt: Fix devicetree warnings about node names, Jean-Philippe Brucker, 2022/08/24
- [PATCH 03/10] hw/arm/virt: Fix devicetree warnings about the GIC node, Jean-Philippe Brucker, 2022/08/24
- [PATCH 04/10] hw/arm/virt: Use "msi-map" devicetree property for PCI, Jean-Philippe Brucker, 2022/08/24
- [PATCH 05/10] hw/arm/virt: Fix devicetree warning about the timer node, Jean-Philippe Brucker, 2022/08/24
- [PATCH 10/10] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node,
Jean-Philippe Brucker <=
- [PATCH 09/10] hw/arm/virt: Fix devicetree warnings about the SMMU node, Jean-Philippe Brucker, 2022/08/24
- [PATCH 08/10] hw/arm/virt: Fix devicetree warnings about the GPIO node, Jean-Philippe Brucker, 2022/08/24