All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolin Chen <nicolinc@nvidia.com>
To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>,
	"acpica-devel@lists.linux.dev" <acpica-devel@lists.linux.dev>,
	"Guohanjun (Hanjun Guo)" <guohanjun@huawei.com>,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
	Joerg Roedel <joro@8bytes.org>, Kevin Tian <kevin.tian@intel.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Len Brown <lenb@kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Lorenzo Pieralisi <lpieralisi@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Robert Moore" <robert.moore@intel.com>,
	Robin Murphy <robin.murphy@arm.com>,
	"Sudeep Holla" <sudeep.holla@arm.com>,
	Will Deacon <will@kernel.org>,
	Alex Williamson <alex.williamson@redhat.com>,
	Eric Auger <eric.auger@redhat.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Moritz Fischer <mdf@kernel.org>,
	Michael Shavit <mshavit@google.com>,
	"patches@lists.linux.dev" <patches@lists.linux.dev>,
	Mostafa Saleh <smostafa@google.com>
Subject: Re: [PATCH v2 0/8] Initial support for SMMUv3 nested translation
Date: Thu, 29 Aug 2024 09:10:06 -0700	[thread overview]
Message-ID: <ZtCdXjkzVbFMBJjy@Asurada-Nvidia> (raw)
In-Reply-To: <d1dc23f484784413bb3f6658717de516@huawei.com>

On Thu, Aug 29, 2024 at 02:52:23PM +0000, Shameerali Kolothum Thodi wrote:
> > That makes some progress. But still I am not seeing the assigned dev  in
> > Guest.
> >
> > -device vfio-pci-nohotplug,host=0000:75:00.1,iommufd=iommufd0
> >
> > root@ubuntu:/# lspci -tv#
> >
> > root@ubuntu:/# lspci -tv
> > -+-[0000:ca]---00.0-[cb]--
> >  \-[0000:00]-+-00.0  Red Hat, Inc. QEMU PCIe Host bridge
> >              +-01.0  Red Hat, Inc Virtio network device
> >              +-02.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              +-03.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              +-04.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              +-05.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              +-06.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              +-07.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              +-08.0  Red Hat, Inc. QEMU PCIe Expander bridge
> >              \-09.0  Red Hat, Inc. QEMU PCIe Expander bridge

Hmm, the tree looks correct..

> > The new root port is created, but no device attached.
> It looks like Guest finds the config invalid:
> 
> [    0.283618] PCI host bridge to bus 0000:ca
> [    0.284064] ACPI BIOS Error (bug): \_SB.PCF7.PCEE.PCE5.PCDC.PCD3.PCCA._DSM: Excess arguments - ASL declared 5, ACPI requires 4 (20240322/nsarguments-162)

Looks like the DSM change wasn't clean. Yet, this might not be the
root cause, as mine could boot with it.

Here is mine (I added a print to that conflict part, for success):

[    0.340733] ACPI BIOS Error (bug): \_SB.PCF7.PCEE.PCE5.PCDC._DSM: Excess arguments - ASL declared 5, ACPI requires 4 (20230628/nsarguments-162)
[    0.341776] pci 0000:dc:00.0: [1b36:000c] type 01 class 0x060400 PCIe Root Port
[    0.344895] pci 0000:dc:00.0: BAR 0 [mem 0x10400000-0x10400fff]
[    0.347935] pci 0000:dc:00.0: PCI bridge to [bus dd]
[    0.348410] pci 0000:dc:00.0:   bridge window [mem 0x10200000-0x103fffff]
[    0.349483] pci 0000:dc:00.0:   bridge window [mem 0x42000000000-0x44080ffffff 64bit pref]
[    0.351459] pci_bus 0000:dd: busn_res: insert [bus dd] under [bus dc-dd]

In my case:
[root bus (00)] <---[pxb (dc)] <--- [root-port (dd)] <--- dev

In your case:
[root bus (00)] <---[pxb (ca)] <--- [root-port (cb)] <--- dev

> [    0.285533] pci_bus 0000:ca: root bus resource [bus ca]
> [    0.286214] pci 0000:ca:00.0: [1b36:000c] type 01 class 0x060400 PCIe Root Port
> [    0.287717] pci 0000:ca:00.0: BAR 0 [mem 0x00000000-0x00000fff]
> [    0.288431] pci 0000:ca:00.0: PCI bridge to [bus 00]

This starts to diff. Somehow the link is reversed? It should be:
 [    0.288431] pci 0000:ca:00.0: PCI bridge to [bus cb]

> [    0.290649] pci 0000:ca:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
> [    0.292476] pci_bus 0000:cb: busn_res: can not insert [bus cb-ca] under [bus ca] (conflicts with (null) [bus ca])
> [    0.293597] pci_bus 0000:cb: busn_res: [bus cb-ca] end is updated to cb
> [    0.294300] pci_bus 0000:cb: busn_res: can not insert [bus cb] under [bus ca] (conflicts with (null) [bus ca])

And then everything went south...

Would you please try adding some prints?
----------------------------------------------------------------------
@@ -1556,6 +1556,7 @@ static char *create_new_pcie_port(VirtNestedSmmu *nested_smmu, Error **errp)
     uint32_t bus_nr = pci_bus_num(nested_smmu->pci_bus);
     DeviceState *dev;
     char *name_port;
+    bool ret;
 
     /* Create a root port */
     dev = qdev_new("pcie-root-port");
@@ -1571,7 +1572,9 @@ static char *create_new_pcie_port(VirtNestedSmmu *nested_smmu, Error **errp)
     qdev_prop_set_uint32(dev, "chassis", chassis_nr);
     qdev_prop_set_uint32(dev, "slot", port_nr);
     qdev_prop_set_uint64(dev, "io-reserve", 0);
-    qdev_realize_and_unref(dev, BUS(nested_smmu->pci_bus), &error_fatal);
+    ret = qdev_realize_and_unref(dev, BUS(nested_smmu->pci_bus), &error_fatal);
+    fprintf(stderr, "ret=%d, pcie-root-port ID: %s, added to pxb_bus num: %x, chassis: %d\n",
+            ret, name_port, pci_bus_num(nested_smmu->pci_bus), chassis_nr);
     return name_port;
 }
 
----------------------------------------------------------------------

We should make sure that the 'bus_nr' and 'bus' are set correctly
and all the realize() returned true?:

Thanks
Nicolin

  reply	other threads:[~2024-08-29 16:10 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-27 15:51 [PATCH v2 0/8] Initial support for SMMUv3 nested translation Jason Gunthorpe
2024-08-27 15:51 ` [PATCH v2 1/8] vfio: Remove VFIO_TYPE1_NESTING_IOMMU Jason Gunthorpe
2024-08-30  7:40   ` Tian, Kevin
2024-08-27 15:51 ` [PATCH v2 2/8] iommu/arm-smmu-v3: Use S2FWB when available Jason Gunthorpe
2024-08-27 19:48   ` Nicolin Chen
2024-08-28 18:30     ` Jason Gunthorpe
2024-08-28 19:47       ` Nicolin Chen
2024-08-28 19:50   ` Nicolin Chen
2024-08-30  7:44   ` Tian, Kevin
2024-08-30  7:56     ` Nicolin Chen
2024-08-30  8:01       ` Tian, Kevin
2024-08-30 15:12   ` Mostafa Saleh
2024-08-30 16:40     ` Jason Gunthorpe
2024-09-02  9:29       ` Mostafa Saleh
2024-09-03  0:05         ` Jason Gunthorpe
2024-09-03  7:57           ` Mostafa Saleh
2024-09-03 23:33             ` Jason Gunthorpe
2024-09-10 10:55               ` Mostafa Saleh
2024-09-10 20:22                 ` Jason Gunthorpe
2024-09-17  9:48                   ` Mostafa Saleh
2024-09-04 14:20   ` Shameerali Kolothum Thodi
2024-09-04 15:00     ` Jason Gunthorpe
2024-09-10 11:25       ` Shameerali Kolothum Thodi
2024-09-11 22:52         ` Jason Gunthorpe
2024-08-27 15:51 ` [PATCH v2 3/8] ACPICA: IORT: Update for revision E.f Jason Gunthorpe
2024-08-29 10:14   ` Rafael J. Wysocki
2024-08-27 15:51 ` [PATCH v2 4/8] ACPI/IORT: Support CANWBS memory access flag Jason Gunthorpe
2024-08-30  7:52   ` Tian, Kevin
2024-08-30 13:54     ` Jason Gunthorpe
2024-09-03  7:14       ` Tian, Kevin
2024-08-27 15:51 ` [PATCH v2 5/8] iommu/arm-smmu-v3: Report IOMMU_CAP_ENFORCE_CACHE_COHERENCY for CANWBS Jason Gunthorpe
2024-08-27 20:12   ` Nicolin Chen
2024-08-28 19:12     ` Jason Gunthorpe
2024-08-30 15:19   ` Mostafa Saleh
2024-08-30 17:10     ` Jason Gunthorpe
2024-08-27 15:51 ` [PATCH v2 6/8] iommu/arm-smmu-v3: Support IOMMU_GET_HW_INFO via struct arm_smmu_hw_info Jason Gunthorpe
2024-08-30  7:55   ` Tian, Kevin
2024-08-30 15:23   ` Mostafa Saleh
2024-08-30 17:16     ` Jason Gunthorpe
2024-09-02 10:11       ` Mostafa Saleh
2024-09-03  0:16         ` Jason Gunthorpe
2024-09-03  8:34           ` Mostafa Saleh
2024-09-03 23:40             ` Jason Gunthorpe
2024-09-04  7:11               ` Shameerali Kolothum Thodi
2024-09-04 12:01                 ` Jason Gunthorpe
2024-09-06 11:19                   ` Mostafa Saleh
2024-08-27 15:51 ` [PATCH v2 7/8] iommu/arm-smmu-v3: Implement IOMMU_HWPT_ALLOC_NEST_PARENT Jason Gunthorpe
2024-08-27 20:16   ` Nicolin Chen
2024-08-30  7:58   ` Tian, Kevin
2024-08-30 13:55     ` Jason Gunthorpe
2024-08-30 15:27   ` Mostafa Saleh
2024-08-30 17:18     ` Jason Gunthorpe
2024-09-02  8:57       ` Mostafa Saleh
2024-08-27 15:51 ` [PATCH v2 8/8] iommu/arm-smmu-v3: Support IOMMU_DOMAIN_NESTED Jason Gunthorpe
2024-08-27 21:23   ` Nicolin Chen
2024-08-28 19:01     ` Jason Gunthorpe
2024-08-28 19:27       ` Nicolin Chen
2024-08-30  8:16   ` Tian, Kevin
2024-08-30 14:13     ` Jason Gunthorpe
2024-08-30 14:39     ` Jason Gunthorpe
2024-08-30 16:09   ` Mostafa Saleh
2024-08-30 16:59     ` Nicolin Chen
2024-08-30 17:04     ` Jason Gunthorpe
2024-09-02  9:57       ` Mostafa Saleh
2024-09-03  0:30         ` Jason Gunthorpe
2024-09-03  1:13           ` Nicolin Chen
2024-09-03  9:00           ` Mostafa Saleh
2024-09-03 23:55             ` Jason Gunthorpe
2024-09-06 11:07               ` Mostafa Saleh
2024-09-06 13:34                 ` Jason Gunthorpe
2024-09-10 11:12                   ` Mostafa Saleh
2024-09-15 21:39                     ` Jason Gunthorpe
2024-09-06 18:28       ` Jason Gunthorpe
2024-09-06 18:49         ` Nicolin Chen
2024-09-06 23:15           ` Jason Gunthorpe
2024-08-27 21:31 ` [PATCH v2 0/8] Initial support for SMMUv3 nested translation Nicolin Chen
2024-08-28 16:31   ` Shameerali Kolothum Thodi
2024-08-28 17:14     ` Nicolin Chen
2024-08-28 18:06       ` Shameerali Kolothum Thodi
2024-08-28 18:12         ` Nicolin Chen
2024-08-29 13:14           ` Shameerali Kolothum Thodi
2024-08-29 14:52             ` Shameerali Kolothum Thodi
2024-08-29 16:10               ` Nicolin Chen [this message]
2024-08-30  9:07                 ` Shameerali Kolothum Thodi
2024-08-30 17:01                   ` Nicolin Chen
2024-09-12  3:42   ` Zhangfei Gao
2024-09-12  4:05     ` Nicolin Chen
2024-09-12  4:25     ` Baolu Lu
2024-09-12  7:32       ` Zhangfei Gao
2024-10-15  3:21       ` Zhangfei Gao
2024-10-15 13:09         ` Jason Gunthorpe
2024-10-17  1:53           ` Zhangfei Gao
2024-10-17 11:57             ` Jason Gunthorpe
2024-10-16  2:23 ` Zhangfei Gao
2024-10-16 11:53   ` Jason Gunthorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZtCdXjkzVbFMBJjy@Asurada-Nvidia \
    --to=nicolinc@nvidia.com \
    --cc=acpica-devel@lists.linux.dev \
    --cc=alex.williamson@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=guohanjun@huawei.com \
    --cc=iommu@lists.linux.dev \
    --cc=jean-philippe@linaro.org \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=lpieralisi@kernel.org \
    --cc=mdf@kernel.org \
    --cc=mshavit@google.com \
    --cc=patches@lists.linux.dev \
    --cc=rafael@kernel.org \
    --cc=robert.moore@intel.com \
    --cc=robin.murphy@arm.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=smostafa@google.com \
    --cc=sudeep.holla@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.