2. Add the extra parameter of PciCfg in the new PeiLibPciCfgModify() to keep the parameter list the same as the PciCfg->Modify(). PciCfg is just a place holder.
3. Allow platform develop to set EDKII_GLUE_PciExpressBaseAddress value in build option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5868
6f19259b-4bc3-4df7-8a09-
765794883524
// [BuildOptions]\r
// *_*_*_CC_FLAGS = /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xC0000000\r
//\r
// [BuildOptions]\r
// *_*_*_CC_FLAGS = /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xC0000000\r
//\r
+#ifndef EDKII_GLUE_PciExpressBaseAddress\r
#define EDKII_GLUE_PciExpressBaseAddress PCD_EDKII_GLUE_PciExpressBaseAddress\r
#define EDKII_GLUE_PciExpressBaseAddress PCD_EDKII_GLUE_PciExpressBaseAddress\r
#ifndef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB_H__\r
#define __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB_H__\r
\r
#ifndef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB_H__\r
#define __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB_H__\r
\r
+//\r
+// To avoid symbol collision with gRT in EfiDriverLib\r
+//\r
+#define gRT gGlueRT\r
+\r
//\r
// Cached copy of the EFI Runtime Services Table\r
//\r
//\r
// Cached copy of the EFI Runtime Services Table\r
//\r
EFIAPI \r
PeiLibPciCfgModify (\r
IN EFI_PEI_SERVICES **PeiServices,\r
EFIAPI \r
PeiLibPciCfgModify (\r
IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_PCI_CFG_PPI *PciCfg,\r
IN PEI_PCI_CFG_PPI_WIDTH Width,\r
IN UINT64 Address,\r
IN UINTN SetBits,\r
IN PEI_PCI_CFG_PPI_WIDTH Width,\r
IN UINT64 Address,\r
IN UINTN SetBits,\r
it will be updated to the following code which call this library API:\r
PeiLibPciCfgModify (\r
PeiServices,\r
it will be updated to the following code which call this library API:\r
PeiLibPciCfgModify (\r
PeiServices,\r
Width,\r
Address,\r
SetBits,\r
Width,\r
Address,\r
SetBits,\r
\r
PeiServices An indirect pointer to the PEI Services Table\r
published by the PEI Foundation.\r
\r
PeiServices An indirect pointer to the PEI Services Table\r
published by the PEI Foundation.\r
+ PciCfg A pointer to the this pointer of EFI_PEI_PCI_CFG_PPI. \r
+ This parameter is unused as a place holder to make\r
+ the parameter list identical to PEI_PCI_CFG_PPI_RW.\r
Width The width of the access. Enumerated in bytes. Type\r
EFI_PEI_PCI_CFG_PPI_WIDTH is defined in Read().\r
\r
Width The width of the access. Enumerated in bytes. Type\r
EFI_PEI_PCI_CFG_PPI_WIDTH is defined in Read().\r
\r
EFIAPI \r
PeiLibPciCfgModify (\r
IN EFI_PEI_SERVICES **PeiServices,\r
EFIAPI \r
PeiLibPciCfgModify (\r
IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_PCI_CFG_PPI *PciCfg,\r
IN PEI_PCI_CFG_PPI_WIDTH Width,\r
IN UINT64 Address,\r
IN UINTN SetBits,\r
IN PEI_PCI_CFG_PPI_WIDTH Width,\r
IN UINT64 Address,\r
IN UINTN SetBits,\r
it will be updated to the following code which call this library API:\r
PeiLibPciCfgModify (\r
PeiServices,\r
it will be updated to the following code which call this library API:\r
PeiLibPciCfgModify (\r
PeiServices,\r
Width,\r
Address,\r
SetBits,\r
Width,\r
Address,\r
SetBits,\r
\r
PeiServices An indirect pointer to the PEI Services Table\r
published by the PEI Foundation.\r
\r
PeiServices An indirect pointer to the PEI Services Table\r
published by the PEI Foundation.\r
+ PciCfg A pointer to the this pointer of EFI_PEI_PCI_CFG_PPI. \r
+ This parameter is unused as a place holder to make\r
+ the parameter list identical to PEI_PCI_CFG_PPI_RW.\r
Width The width of the access. Enumerated in bytes. Type\r
EFI_PEI_PCI_CFG_PPI_WIDTH is defined in Read().\r
\r
Width The width of the access. Enumerated in bytes. Type\r
EFI_PEI_PCI_CFG_PPI_WIDTH is defined in Read().\r
\r