TianoCore EDK2 master
Loading...
Searching...
No Matches
SsdtPcieSupportLib.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI GeneratePciSlots (IN CONST CM_ARCH_COMMON_PCI_CONFIG_SPACE_INFO *PciInfo, IN CONST MAPPING_TABLE *MappingTable, IN UINT32 Uid, IN OUT AML_OBJECT_NODE_HANDLE PciNode)
 
EFI_STATUS EFIAPI AddOscMethod (IN CONST CM_ARCH_COMMON_PCI_CONFIG_SPACE_INFO *PciInfo, IN OUT AML_OBJECT_NODE_HANDLE PciNode)
 

Detailed Description

SSDT PCIe Support Library.

Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Reference(s):
  • PCI Firmware Specification - Revision 3.0
  • ACPI 6.4 specification:
    • s6.2.13 "_PRT (PCI Routing Table)"
    • s6.1.1 "_ADR (Address)"
  • linux kernel code
  • Arm Base Boot Requirements v1.0
  • Arm Base System Architecture v1.0

Definition in file SsdtPcieSupportLib.c.

Function Documentation

◆ AddOscMethod()

EFI_STATUS EFIAPI AddOscMethod ( IN CONST CM_ARCH_COMMON_PCI_CONFIG_SPACE_INFO PciInfo,
IN OUT AML_OBJECT_NODE_HANDLE  PciNode 
)

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.

Parameters
[in]PciInfoPci device information.
[in,out]PciNodePci node to amend.
Return values
EFI_SUCCESSThe function completed successfully.
EFI_INVALID_PARAMETERInvalid parameter.
EFI_OUT_OF_RESOURCESCould not allocate memory.

Definition at line 134 of file SsdtPcieSupportLib.c.

◆ GeneratePciSlots()

EFI_STATUS EFIAPI GeneratePciSlots ( IN CONST CM_ARCH_COMMON_PCI_CONFIG_SPACE_INFO PciInfo,
IN CONST MAPPING_TABLE MappingTable,
IN UINT32  Uid,
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.

Parameters
[in]PciInfoPci device information.
[in]MappingTableThe mapping table structure.
[in]UidUnique Id of the Pci device.
[in,out]PciNodePci node to amend.
Return values
EFI_SUCCESSSuccess.
EFI_INVALID_PARAMETERInvalid parameter.
EFI_OUT_OF_RESOURCESFailed to allocate memory.

Definition at line 55 of file SsdtPcieSupportLib.c.