From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: Igor Mammedov <imammedo@redhat.com>, <linuxarm@huawei.com>
Cc: <mst@redhat.com>, Markus Armbruster <armbru@redhat.com>,
<qemu-devel@nongnu.org>, <ankita@nvidia.com>,
<marcel.apfelbaum@gmail.com>, <philmd@linaro.org>,
Richard Henderson <richard.henderson@linaro.org>,
"Dave Jiang" <dave.jiang@intel.com>,
Huang Ying <ying.huang@intel.com>,
"Paolo Bonzini" <pbonzini@redhat.com>, <eduardo@habkost.net>,
<linux-cxl@vger.kernel.org>, Michael Roth <michael.roth@amd.com>,
Ani Sinha <anisinha@redhat.com>
Subject: Re: [PATCH v3 07/11] hw/pci-bridge: Add acpi_uid property to CXL PXB
Date: Tue, 2 Jul 2024 11:41:19 +0100 [thread overview]
Message-ID: <20240702113826.00003a66@huawei.com> (raw)
In-Reply-To: <20240701185203.00006159@Huawei.com>
On Mon, 1 Jul 2024 18:52:03 +0100
Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:
> On Fri, 28 Jun 2024 13:55:25 +0200
> Igor Mammedov <imammedo@redhat.com> wrote:
>
> > On Thu, 27 Jun 2024 14:46:14 +0100
> > Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:
> >
> > > On Thu, 27 Jun 2024 15:27:58 +0200
> > > Igor Mammedov <imammedo@redhat.com> wrote:
> > >
> > > > On Thu, 20 Jun 2024 17:03:15 +0100
> > > > Jonathan Cameron <Jonathan.Cameron@huawei.com> wrote:
> > > >
> > > > > This allows the ACPI SRAT Generic Port Affinity Structure
> > > > > creation to be independent of PCI internals. Note that
> > > > > the UID is currently the PCI bus number.
> > > > >
> > > > > Suggested-by: Igor Mammedov <imammedo@redhat.com>
> > > > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > > > >
> > > > > ---
> > > > > v3: New patch
> > > > > ---
> > > > > hw/pci-bridge/pci_expander_bridge.c | 17 ++++++++++++++++-
> > > > > 1 file changed, 16 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
> > > > > index 0411ad31ea..92d39b917a 100644
> > > > > --- a/hw/pci-bridge/pci_expander_bridge.c
> > > > > +++ b/hw/pci-bridge/pci_expander_bridge.c
> > > > > @@ -93,6 +93,21 @@ static void pxb_bus_class_init(ObjectClass *class, void *data)
> > > > > pbc->numa_node = pxb_bus_numa_node;
> > > > > }
> > > > >
> > > > > +static void prop_pxb_cxl_uid_get(Object *obj, Visitor *v, const char *name,
> > > > > + void *opaque, Error **errp)
> > > > > +{
> > > > > + uint32_t uid = pci_bus_num(PCI_BUS(obj));
> > > > > +
> > > > > + visit_type_uint32(v, name, &uid, errp);
> > > > > +}
> > > > > +
> > > > > +static void pxb_cxl_bus_class_init(ObjectClass *class, void *data)
> > > > > +{
> > > > > + pxb_bus_class_init(class, data);
> > > > > + object_class_property_add(class, "acpi_uid", "uint32",
> > > > > + prop_pxb_cxl_uid_get, NULL, NULL, NULL);
> > > > > +}
> > > > > +
> > > > > static const TypeInfo pxb_bus_info = {
> > > > > .name = TYPE_PXB_BUS,
> > > > > .parent = TYPE_PCI_BUS,
> > > > > @@ -111,7 +126,7 @@ static const TypeInfo pxb_cxl_bus_info = {
> > > > > .name = TYPE_PXB_CXL_BUS,
> > > > > .parent = TYPE_CXL_BUS,
> > > > > .instance_size = sizeof(PXBBus),
> > > > > - .class_init = pxb_bus_class_init,
> > > > > + .class_init = pxb_cxl_bus_class_init,
> > > >
> > > > why it's CXL only, doesn't the same UID rules apply to other PCI buses?
> > >
> > > In principle, yes. My nervousness is that we can only test anything
> > > using this infrastructure today with CXL root bridges.
> > >
> > > So I was thinking we should keep it limited and broaden the scope
> > > if anyone ever cares. I don't mind broadening it from the start though.
> >
> > Then I'd use it everywhere and cleanup ACPI code to use it as well
> > just to be consistent.
> That is easy to do for all the TYPE_PXB_BUS types and they have separate
> handling in the various ACPI table builds from other host bridgesn anyway.
>
> Ultimately it might be nice to do for the host bridges in general but
> that needs to be separate I think as there isn't a simple common
> ancestor to use. For at least some cases (gpex-acpi.c) it's hard
> coded as 0 directly with no look up at all.
Also worth noting that we could take the approach of not using pci internals
in ACPI building further and deal with things like numa nodes.
I don't mind doing that in the longer term, but I don't want that to be
a dependency for this series.
Jonathan
>
> Jonathan
>
> >
> > > Jonathan
> > >
> > >
> > > > > };
> > > > >
> > > > > static const char *pxb_host_root_bus_path(PCIHostState *host_bridge,
> > > >
> > > >
> > >
> >
> >
>
>
>
next prev parent reply other threads:[~2024-07-02 10:42 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-20 16:03 [PATCH v3 qemu 00/11] acpi: NUMA nodes for CXL HB as GP + complex NUMA test Jonathan Cameron via
2024-06-20 16:03 ` [PATCH v3 01/11] hw/acpi: Fix ordering of BDF in Generic Initiator PCI Device Handle Jonathan Cameron via
2024-06-27 12:44 ` Igor Mammedov
2024-06-20 16:03 ` [PATCH v3 02/11] hw/acpi/GI: Fix trivial parameter alignment issue Jonathan Cameron via
2024-06-27 12:43 ` Igor Mammedov
2024-06-20 16:03 ` [PATCH v3 03/11] hw/acpi: Move AML building code for Generic Initiators to aml_build.c Jonathan Cameron via
2024-06-27 12:42 ` Igor Mammedov
2024-06-27 12:44 ` Michael S. Tsirkin
2024-06-27 12:45 ` Igor Mammedov
2024-06-20 16:03 ` [PATCH v3 04/11] hw/acpi: Rename build_all_acpi_generic_initiators() to build_acpi_generic_initiator() Jonathan Cameron via
2024-06-27 12:56 ` Igor Mammedov
2024-06-20 16:03 ` [PATCH v3 05/11] hw/pci: Add a bus property to pci_props and use for acpi/gi Jonathan Cameron via
2024-06-27 13:09 ` Igor Mammedov
2024-06-28 11:58 ` Igor Mammedov
2024-07-01 15:59 ` Jonathan Cameron via
2024-06-20 16:03 ` [PATCH v3 06/11] acpi/pci: Move Generic Initiator object handling into acpi/pci.* Jonathan Cameron via
2024-06-20 16:03 ` [PATCH v3 07/11] hw/pci-bridge: Add acpi_uid property to CXL PXB Jonathan Cameron via
2024-06-27 13:27 ` Igor Mammedov
2024-06-27 13:46 ` Jonathan Cameron via
2024-06-28 11:55 ` Igor Mammedov
2024-07-01 17:52 ` Jonathan Cameron via
2024-07-02 10:41 ` Jonathan Cameron via [this message]
2024-06-20 16:03 ` [PATCH v3 08/11] hw/acpi: Generic Port Affinity Structure support Jonathan Cameron via
2024-07-01 8:52 ` Igor Mammedov
2024-07-01 15:47 ` Jonathan Cameron via
2024-06-20 16:03 ` [PATCH v3 09/11] bios-tables-test: Allow for new acpihmat-generic-x test data Jonathan Cameron via
2024-06-27 12:51 ` Igor Mammedov
2024-06-27 13:50 ` Igor Mammedov
2024-06-20 16:03 ` [PATCH v3 10/11] bios-tables-test: Add complex SRAT / HMAT test for GI GP Jonathan Cameron via
2024-06-20 16:03 ` [PATCH v3 11/11] bios-tables-test: Add data for complex numa test (GI, GP etc) Jonathan Cameron via
2024-06-21 3:25 ` [PATCH v3 qemu 00/11] acpi: NUMA nodes for CXL HB as GP + complex NUMA test Huang, Ying
2024-06-21 16:20 ` Jonathan Cameron via
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=20240702113826.00003a66@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=Jonathan.Cameron@Huawei.com \
--cc=anisinha@redhat.com \
--cc=ankita@nvidia.com \
--cc=armbru@redhat.com \
--cc=dave.jiang@intel.com \
--cc=eduardo@habkost.net \
--cc=imammedo@redhat.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=michael.roth@amd.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=richard.henderson@linaro.org \
--cc=ying.huang@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).