[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 7/8] hw/arm/virt: Fix devicetree warnings about the virtio
From: |
Eric Auger |
Subject: |
Re: [PATCH v2 7/8] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node |
Date: |
Tue, 27 Sep 2022 16:35:25 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
Hi,
On 9/27/22 13:46, Peter Maydell wrote:
> On Tue, 27 Sept 2022 at 11:12, Jean-Philippe Brucker
> <jean-philippe@linaro.org> wrote:
>>
>> 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>
>> ---
>> 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 2de16f6324..5e16d54bbb 100644
>> --- a/hw/arm/virt.c
>> +++ b/hw/arm/virt.c
>> @@ -1372,14 +1372,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;
>
> PCI_DEVICE_ID_VIRTIO_IOMMU is listed in include/hw/pci/pci.h
> as 0x1014, so where does 1057 come from? (This is a hex value,
> right?)
the virtio spec states:
The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID
(this IOMMU device ID is 0d23 = 0x17 for the virtio-iommu device, also
found in include/uapi/linux/virtio_ids.h) so 0x1057 above looks correct
note that in docs/specs/pci-ids.txt there are a bunch of other device
ids not documented (virtio-mem, pmem)
What I don't get anymore is the device id in qemu include/hw/pci/pci.h
Thanks
Eric
>
> docs/specs/pci-ids.txt doesn't list either 1014 or 1057, so
> I guess we forgot to update that...
>
> thanks
> -- PMM
>
- Re: [PATCH v2 2/8] hw/arm/virt: Fix devicetree warning about the GIC node, (continued)
- [PATCH v2 4/8] hw/arm/virt: Fix devicetree warning about the gpio-key node, Jean-Philippe Brucker, 2022/09/27
- [PATCH v2 1/8] hw/arm/virt: Fix devicetree warning about the root node, Jean-Philippe Brucker, 2022/09/27
- [PATCH v2 7/8] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node, Jean-Philippe Brucker, 2022/09/27
- [PATCH v2 8/8] hw/arm/virt: Fix devicetree warnings about node names, Jean-Philippe Brucker, 2022/09/27
- Re: [PATCH v2 0/8] hw/arm/virt: Fix dt-schema warnings, Peter Maydell, 2022/09/29