diff options
-rw-r--r-- | IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg.c | 6 | ||||
-rw-r--r-- | IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg2.c | 28 | ||||
-rw-r--r-- | IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfgInternal.h | 20 | ||||
-rw-r--r-- | MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 1 | ||||
-rw-r--r-- | MdeModulePkg/MdeModulePkg.dsc | 2 | ||||
-rw-r--r-- | MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PciCfg2.c | 32 | ||||
-rw-r--r-- | MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf (renamed from MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.inf) | 0 | ||||
-rw-r--r-- | MdePkg/MdePkg.dsc | 2 | ||||
-rw-r--r-- | Nt32Pkg/Nt32Pkg.dsc | 4 |
9 files changed, 70 insertions, 25 deletions
diff --git a/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg.c b/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg.c index 20bee53355..361f5be40b 100644 --- a/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg.c +++ b/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg.c @@ -53,7 +53,7 @@ PciCfgRead ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
switch (Width) {
case EfiPeiPciCfgWidthUint8:
* (UINT8 *) Buffer = PciRead8 (PciLibAddress);
@@ -103,7 +103,7 @@ PciCfgWrite ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
switch (Width) {
case EfiPeiPciCfgWidthUint8:
PciWrite8 (PciLibAddress, *(UINT8 *) Buffer);
@@ -153,7 +153,7 @@ PciCfgModify ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
switch (Width) {
case EfiPeiPciCfgWidthUint8:
PciAndThenOr8 (PciLibAddress, (UINT8)~ClearBits, (UINT8)SetBits);
diff --git a/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg2.c b/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg2.c index 214a505478..28af898b98 100644 --- a/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg2.c +++ b/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfg2.c @@ -71,6 +71,28 @@ EFI_PEI_PPI_DESCRIPTOR gPciCfgPpiList = { &gPciCfgPpi
};
+
+/**
+ Convert EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS to PCI_LIB_ADDRESS.
+
+ @param Address PCI address with
+ EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS format.
+
+ @return The PCI address with PCI_LIB_ADDRESS format.
+
+**/
+UINTN
+PciCfgAddressConvert (
+ EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *Address
+ )
+{
+ if (Address->ExtendedRegister == 0) {
+ return PCI_LIB_ADDRESS (Address->Bus, Address->Device, Address->Function, Address->Register);
+ }
+
+ return PCI_LIB_ADDRESS (Address->Bus, Address->Device, Address->Function, Address->ExtendedRegister);
+}
+
/**
Reads from a given location in the PCI configuration space.
@@ -107,7 +129,7 @@ PciCfg2Read ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
if (Width == EfiPeiPciCfgWidthUint8) {
*((UINT8 *) Buffer) = PciRead8 (PciLibAddress);
@@ -158,7 +180,7 @@ PciCfg2Write ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
if (Width == EfiPeiPciCfgWidthUint8) {
PciWrite8 (PciLibAddress, *((UINT8 *) Buffer));
@@ -216,7 +238,7 @@ PciCfg2Modify ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
if (Width == EfiPeiPciCfgWidthUint8) {
PciAndThenOr8 (PciLibAddress, ~(*(UINT8 *)ClearBits), *((UINT8 *) SetBits));
diff --git a/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfgInternal.h b/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfgInternal.h index 2b6faa56f0..fed8f7277c 100644 --- a/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfgInternal.h +++ b/IntelFrameworkModulePkg/Universal/PcatSingleSegmentPciCfgPei/PciCfgInternal.h @@ -28,12 +28,20 @@ #include <IndustryStandard\Pci.h>
-#define COMMON_TO_PCILIB_ADDRESS(A) (UINTN)PCI_LIB_ADDRESS( \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Bus, \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Device, \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Function, \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Register \
- )
+
+/**
+ Convert EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS to PCI_LIB_ADDRESS.
+
+ @param Address PCI address with
+ EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS format.
+
+ @return The PCI address with PCI_LIB_ADDRESS format.
+
+**/
+UINTN
+PciCfgAddressConvert (
+ EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *Address
+ );
/**
diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf index 05ece78b7b..77991e987d 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf @@ -67,7 +67,6 @@ BaseMemoryLib
PeiServicesTablePointerLib
CustomDecompressLib
- TianoDecompressLib
UefiDecompressLib
PeCoffLoaderLib
CacheMaintenanceLib
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 4f2d8bf946..e19e463513 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -79,7 +79,7 @@ ReportStatusCodeLib|IntelFrameworkPkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
- SmBusLib|MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.inf
+ SmBusLib|MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf
[LibraryClasses.common.DXE_CORE]
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
diff --git a/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PciCfg2.c b/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PciCfg2.c index cab55126f8..3542bdd646 100644 --- a/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PciCfg2.c +++ b/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PciCfg2.c @@ -22,13 +22,27 @@ #include <IndustryStandard\Pci.h>
-#define COMMON_TO_PCILIB_ADDRESS(A) (UINTN)PCI_LIB_ADDRESS( \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Bus, \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Device, \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Function, \
- ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &A)->Register \
- )
+/**
+ Convert EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS to PCI_LIB_ADDRESS.
+ @param Address PCI address with
+ EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS format.
+
+ @return The PCI address with PCI_LIB_ADDRESS format.
+
+**/
+STATIC
+UINTN
+PciCfgAddressConvert (
+ EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *Address
+ )
+{
+ if (Address->ExtendedRegister == 0) {
+ return PCI_LIB_ADDRESS (Address->Bus, Address->Device, Address->Function, Address->Register);
+ }
+
+ return PCI_LIB_ADDRESS (Address->Bus, Address->Device, Address->Function, Address->ExtendedRegister);
+}
/**
Reads from a given location in the PCI configuration space.
@@ -206,7 +220,7 @@ PciCfg2Read ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
if (Width == EfiPeiPciCfgWidthUint8) {
*((UINT8 *) Buffer) = PciRead8 (PciLibAddress);
@@ -257,7 +271,7 @@ PciCfg2Write ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
if (Width == EfiPeiPciCfgWidthUint8) {
PciWrite8 (PciLibAddress, *((UINT8 *) Buffer));
@@ -315,7 +329,7 @@ PciCfg2Modify ( {
UINTN PciLibAddress;
- PciLibAddress = COMMON_TO_PCILIB_ADDRESS (Address);
+ PciLibAddress = PciCfgAddressConvert ((EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS *) &Address);
if (Width == EfiPeiPciCfgWidthUint8) {
PciAndThenOr8 (PciLibAddress, ~(*(UINT8 *)ClearBits), *((UINT8 *) SetBits));
diff --git a/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.inf b/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf index 1e0a9f225e..1e0a9f225e 100644 --- a/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.inf +++ b/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index eaa23f97ca..5ece2f0e5a 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -84,7 +84,7 @@ MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
- MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLib.inf
+ MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf
MdePkg/Library/SerialPortLibNull/SerialPortLibNull.inf
MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc index 5588c39ad0..b6d5bbc9ee 100644 --- a/Nt32Pkg/Nt32Pkg.dsc +++ b/Nt32Pkg/Nt32Pkg.dsc @@ -101,6 +101,7 @@ PeCoffLoaderLib|MdeModulePkg/Library/DxePeCoffLoaderFromHobLib/DxePeCoffLoaderFromHobLib.inf
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
DebugLib|IntelFrameworkPkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
[LibraryClasses.common.DXE_SMM_DRIVER]
@@ -250,7 +251,6 @@ PcdReportStatusCodePropertyMask|gEfiMdePkgTokenSpaceGuid|0x0f
PcdDebugPropertyMask|gEfiMdePkgTokenSpaceGuid|0x1f
PcdDebugClearMemoryValue|gEfiMdePkgTokenSpaceGuid|0xAF
- PcdDebugPrintErrorLevel|gEfiMdePkgTokenSpaceGuid|0x80000040
PcdPerformanceLibraryPropertyMask|gEfiMdePkgTokenSpaceGuid|0
PcdMaxPeiPcdCallBackNumberPerPcdEntry|gEfiMdeModulePkgTokenSpaceGuid|0x08
PcdVpdBaseAddress|gEfiMdeModulePkgTokenSpaceGuid|0x0
@@ -349,6 +349,8 @@ PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid|0
PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid|0
+
+ PcdDebugPrintErrorLevel|gEfiMdePkgTokenSpaceGuid|0x80000040
################################################################################
#
# Components Section - list of all EDK II Modules needed by this Platform
|