[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/30] hw/arm/virt: Fix devicetree warnings about the virtio-iommu
From: |
Peter Maydell |
Subject: |
[PULL 02/30] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node |
Date: |
Tue, 25 Oct 2022 17:39:24 +0100 |
From: Jean-Philippe Brucker <jean-philippe@linaro.org>
The "PCI Bus Binding to: IEEE Std 1275-1994" defines the compatible
string for a PCIe bus or endpoint as "pci<vendorid>,<deviceid>" or
similar. Since the initial binding for PCI virtio-iommu didn't follow
this rule, it was modified to accept both strings and ensure backward
compatibility. Also, the unit-name for the node should be
"device,function".
Fix corresponding dt-validate and dtc warnings:
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
virtio_iommu@16: compatible: 'oneOf' conditional failed, one must be fixed:
['virtio,pci-iommu'] is too short
'pci1af4,1057' was expected
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"
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
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 cda9defe8f0..b8713508561 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1371,14 +1371,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[] = "virtio,pci-iommu\0pci1af4,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.25.1
- [PULL 00/30] target-arm queue, Peter Maydell, 2022/10/25
- [PULL 01/30] target/arm: Implement FEAT_E0PD, Peter Maydell, 2022/10/25
- [PULL 05/30] hw/hyperv/hyperv.c: Use device_cold_reset() instead of device_legacy_reset(), Peter Maydell, 2022/10/25
- [PULL 02/30] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node,
Peter Maydell <=
- [PULL 06/30] target/imx: reload cmp timer outside of the reload ptimer transaction, Peter Maydell, 2022/10/25
- [PULL 09/30] target/arm: Add isar predicates for FEAT_HAFDBS, Peter Maydell, 2022/10/25
- [PULL 08/30] target/arm: Add ptw_idx to S1Translate, Peter Maydell, 2022/10/25
- [PULL 04/30] hw/core/resettable: fix reset level counting, Peter Maydell, 2022/10/25
- [PULL 03/30] target/arm: honor HCR_E2H and HCR_TGE in arm_excp_unmasked(), Peter Maydell, 2022/10/25
- [PULL 10/30] target/arm: Extract HA and HD in aa64_va_parameters, Peter Maydell, 2022/10/25
- [PULL 11/30] target/arm: Move S1_ptw_translate outside arm_ld[lq]_ptw, Peter Maydell, 2022/10/25
- [PULL 15/30] target/arm: Don't shift attrs in get_phys_addr_lpae, Peter Maydell, 2022/10/25
- [PULL 16/30] target/arm: Consider GP an attribute in get_phys_addr_lpae, Peter Maydell, 2022/10/25