On Tue, 2 Jul 2024 14:14:12 +0100 Jonathan Cameron <jonathan.came...@huawei.com> wrote:
> Enable ACPI table creation for PCI Expander Bridges to be independent > of PCI internals. Note that the UID is currently the PCI bus number. > This is motivated by the forthcoming ACPI Generic Port SRAT entries > which can be made completely independent of PCI internals. > > Suggested-by: Igor Mammedov <imamm...@redhat.com> > Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> > > --- > v4: Generalize to all TYPE_PXB_BUS. The handling for primary root > bridges is separate and doesn't overlap with this change. > --- > hw/pci-bridge/pci_expander_bridge.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/hw/pci-bridge/pci_expander_bridge.c > b/hw/pci-bridge/pci_expander_bridge.c > index 0411ad31ea..d71eb4b175 100644 > --- a/hw/pci-bridge/pci_expander_bridge.c > +++ b/hw/pci-bridge/pci_expander_bridge.c > @@ -85,12 +85,23 @@ static uint16_t pxb_bus_numa_node(PCIBus *bus) > return pxb->numa_node; > } > > +static void prop_pxb_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_bus_class_init(ObjectClass *class, void *data) > { > PCIBusClass *pbc = PCI_BUS_CLASS(class); > > pbc->bus_num = pxb_bus_num; > pbc->numa_node = pxb_bus_numa_node; > + > + object_class_property_add(class, "acpi_uid", "uint32", > + prop_pxb_uid_get, NULL, NULL, NULL); missing related object_class_property_set_description() > } > > static const TypeInfo pxb_bus_info = {