[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 07/13] hw/pci-bridge: Add acpi_uid property to TYPE_PXB_BUS
From: |
Jonathan Cameron |
Subject: |
[PATCH v5 07/13] hw/pci-bridge: Add acpi_uid property to TYPE_PXB_BUS |
Date: |
Fri, 12 Jul 2024 12:08:11 +0100 |
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 <imammedo@redhat.com>
Tested-by: "Huang, Ying" <ying.huang@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
v5: Add missing property description.
---
hw/pci-bridge/pci_expander_bridge.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/hw/pci-bridge/pci_expander_bridge.c
b/hw/pci-bridge/pci_expander_bridge.c
index 0411ad31ea..b94cb85cfb 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -85,12 +85,25 @@ 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);
+ object_class_property_set_description(class, "acpi_uid",
+ "ACPI Unique ID used to distinguish this PCI Host Bridge / ACPI00016");
}
static const TypeInfo pxb_bus_info = {
--
2.43.0
- [PATCH v5 00/13] acpi: NUMA nodes for CXL HB as GP + complex NUMA test, Jonathan Cameron, 2024/07/12
- [PATCH v5 01/13] hw/acpi: Fix ordering of BDF in Generic Initiator PCI Device Handle., Jonathan Cameron, 2024/07/12
- [PATCH v5 02/13] hw/acpi/GI: Fix trivial parameter alignment issue., Jonathan Cameron, 2024/07/12
- [PATCH v5 03/13] hw/acpi: Move AML building code for Generic Initiators to aml_build.c, Jonathan Cameron, 2024/07/12
- [PATCH v5 04/13] hw/acpi: Rename build_all_acpi_generic_initiators() to build_acpi_generic_initiator(), Jonathan Cameron, 2024/07/12
- [PATCH v5 05/13] hw/pci: Add a busnr property to pci_props and use for acpi/gi, Jonathan Cameron, 2024/07/12
- [PATCH v5 06/13] acpi/pci: Move Generic Initiator object handling into acpi/pci.*, Jonathan Cameron, 2024/07/12
- [PATCH v5 07/13] hw/pci-bridge: Add acpi_uid property to TYPE_PXB_BUS,
Jonathan Cameron <=
- [PATCH v5 08/13] hw/i386/acpi: Use TYPE_PXB_BUS property acpi_uid for DSDT, Jonathan Cameron, 2024/07/12
- [PATCH v5 09/13] hw/pci-host/gpex-acpi: Use acpi_uid property., Jonathan Cameron, 2024/07/12
- [PATCH v5 10/13] hw/acpi: Generic Port Affinity Structure support, Jonathan Cameron, 2024/07/12