/** @file Provide common routines used by BasePciSegmentLibSegmentInfo and DxeRuntimePciSegmentLibSegmentInfo libraries. Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PCI_SEGMENT_LIB_COMMON_H_ #define _PCI_SEGMENT_LIB_COMMON_H_ #include #include #include #include #include #include #include /** Return the linear address for the physical address. @param Address The physical address. @retval The linear address. **/ UINTN PciSegmentLibVirtualAddress ( IN UINTN Address ); /** Internal function that converts PciSegmentLib format address that encodes the PCI Bus, Device, Function and Register to ECAM (Enhanced Configuration Access Mechanism) address. @param Address The address that encodes the PCI Bus, Device, Function and Register. @param SegmentInfo An array of PCI_SEGMENT_INFO holding the segment information. @param Count Number of segments. @retval ECAM address. **/ UINTN PciSegmentLibGetEcamAddress ( IN UINT64 Address, IN CONST PCI_SEGMENT_INFO *SegmentInfo, IN UINTN Count ); #endif