From 0a4079ad86f5869426bf4278a9a2681642fd7d79 Mon Sep 17 00:00:00 2001 From: Jeff Brasen Date: Tue, 23 Aug 2022 22:35:53 -0600 Subject: DynamicTablesPkg: AcpiSsdtPcieLibArm : Add UID to slot creation Expose the UID value to GeneratePciSlots(). This is needed for some cases for example: https://docs.microsoft.com/en-us/windows-hardware/drivers/pci/dsd-for-pcie-root-ports#identifying-externally-exposed-pcie-root-ports Name (_DSD, Package () { ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"), Package () { Package (2) {"ExternalFacingPort", 1}, Package (2) {"UID", 0}, } }) Signed-off-by: Jeff Brasen Reviewed-by: Pierre Gondois Reviewed-by: Sami Mujawar --- .../Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'DynamicTablesPkg/Library/Acpi') diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c index dd75fc2..d82f071 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c @@ -298,6 +298,7 @@ GeneratePciDeviceInfo ( @param [in] CfgMgrProtocol Pointer to the Configuration Manager Protocol interface. @param [in] PciInfo Pci device information. + @param [in] Uid Unique Id of the Pci device. @param [in, out] PciNode Pci node to amend. @retval EFI_SUCCESS The function completed successfully. @@ -311,6 +312,7 @@ GeneratePrt ( IN ACPI_PCI_GENERATOR *Generator, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN CONST CM_ARM_PCI_CONFIG_SPACE_INFO *PciInfo, + IN UINT32 Uid, IN OUT AML_OBJECT_NODE_HANDLE PciNode ) { @@ -419,7 +421,7 @@ GeneratePrt ( PrtNode = NULL; // Generate the Pci slots once all the device have been added. - Status = GeneratePciSlots (PciInfo, &Generator->DeviceTable, PciNode); + Status = GeneratePciSlots (PciInfo, &Generator->DeviceTable, Uid, PciNode); if (EFI_ERROR (Status)) { ASSERT (0); goto exit_handler; @@ -814,6 +816,7 @@ GeneratePciDevice ( Generator, CfgMgrProtocol, PciInfo, + Uid, PciNode ); if (EFI_ERROR (Status)) { -- cgit v1.1