12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /** @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_
|