-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DynamicTablesPkg: AcpiSsdtPcieLibArm: Create support library
Add support library to allow for customization of _OSC and slot info. The functions in the library are unchanged, with the exception of adding PciInfo pointer to the APIs. Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Vidya Sagar <vidyas@nvidia.com> Reviewed-by: Ashish Singhal <ashishsingha@nvidia.com>
- Loading branch information
Showing
11 changed files
with
337 additions
and
187 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
/** @file | ||
Ssdt PCIe Support Library | ||
Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.<BR> | ||
SPDX-License-Identifier: BSD-2-Clause-Patent | ||
**/ | ||
|
||
#ifndef SSDT_PCIE_SUPPORT_LIB_H_ | ||
#define SSDT_PCIE_SUPPORT_LIB_H_ | ||
|
||
#pragma pack(1) | ||
|
||
/** Structure used to map integer to an index. | ||
*/ | ||
typedef struct MappingTable { | ||
/// Mapping table. | ||
/// Contains the Index <-> integer mapping | ||
UINT32 *Table; | ||
|
||
/// Last used index of the Table. | ||
/// Bound by MaxIndex. | ||
UINT32 LastIndex; | ||
|
||
/// Number of entries in the Table. | ||
UINT32 MaxIndex; | ||
} MAPPING_TABLE; | ||
|
||
#pragma pack() | ||
|
||
/** Add an _OSC template method to the PciNode. | ||
The _OSC method is provided as an AML blob. The blob is | ||
parsed and attached at the end of the PciNode list of variable elements. | ||
@param [in] PciInfo Pci device information. | ||
@param [in, out] PciNode Pci node to amend. | ||
@retval EFI_SUCCESS The function completed successfully. | ||
@retval EFI_INVALID_PARAMETER Invalid parameter. | ||
@retval EFI_OUT_OF_RESOURCES Could not allocate memory. | ||
**/ | ||
EFI_STATUS | ||
EFIAPI | ||
AddOscMethod ( | ||
IN CONST CM_ARM_PCI_CONFIG_SPACE_INFO *PciInfo, | ||
IN OUT AML_OBJECT_NODE_HANDLE PciNode | ||
); | ||
|
||
/** Generate Pci slots devices. | ||
PCI Firmware Specification - Revision 3.3, | ||
s4.8 "Generic ACPI PCI Slot Description" requests to describe the PCI slot | ||
used. It should be possible to enumerate them, but this is additional | ||
information. | ||
@param [in] PciInfo Pci device information. | ||
@param [in] MappingTable The mapping table structure. | ||
@param [in, out] PciNode Pci node to amend. | ||
@retval EFI_SUCCESS Success. | ||
@retval EFI_INVALID_PARAMETER Invalid parameter. | ||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory. | ||
**/ | ||
EFI_STATUS | ||
EFIAPI | ||
GeneratePciSlots ( | ||
IN CONST CM_ARM_PCI_CONFIG_SPACE_INFO *PciInfo, | ||
IN CONST MAPPING_TABLE *MappingTable, | ||
IN OUT AML_OBJECT_NODE_HANDLE PciNode | ||
); | ||
|
||
#endif // SSDT_PCIE_SUPPORT_LIB_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
Oops, something went wrong.