/** @file CPU PCIe root port library. All function in this library is available for PEI, DXE, and SMM, But do not support UEFI RUNTIME environment call. Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include #include "CpuPcieInfo.h" #include #include #include /** Determines whether PCIe link is active @param[in] RpBase Root Port base address @retval Link Active state **/ BOOLEAN CpuPcieIsLinkActive ( UINT64 RpBase ) { return !! (PegPciSegmentRead16 (RpBase + R_PCIE_LSTS) & B_PCIE_LSTS_LA); } /** Get max PCIe link speed supported by the root port. @param[in] RpBase Root Port base address @return Max link speed **/ UINT32 CpuPcieGetMaxLinkSpeed ( UINT64 RpBase ) { return PegPciSegmentRead32 (RpBase + R_PCIE_LCAP) & B_PCIE_LCAP_MLS; }