mirror of https://github.com/acidanthera/audk.git
Update the comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5261 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
1e55f6a46b
commit
0004d1401e
|
@ -1,20 +1,54 @@
|
||||||
/** @file
|
/** @file
|
||||||
Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the
|
Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the
|
||||||
PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of
|
PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of
|
||||||
EcpPeiPciCfgPpi. EcpPeiPciCfgPpi is installed in a framework module which
|
EcpPeiPciCfgPpi.
|
||||||
produce PciCfgPpi originally. This framework module is updated based on the
|
|
||||||
following rule:
|
EcpPeiPciCfgPpi is installed by a framework module which
|
||||||
Search pattern:
|
produce PciCfgPpi originally. Such framework module is updated based on the
|
||||||
PeiServices->PciCfg = <*>;
|
following rule to install EcpPeiPciCfgPpi instead of updating the PciCfg pointer
|
||||||
Replace pattern:
|
in the Framework PeiServicesTable:
|
||||||
{
|
|
||||||
static EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {
|
Search pattern:
|
||||||
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
PeiServices->PciCfg = <*>;
|
||||||
&gEcpPeiPciCfgPpiGuid,
|
Replace pattern:
|
||||||
<*>
|
{
|
||||||
};
|
static EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {
|
||||||
(**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);
|
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||||
}
|
&gEcpPeiPciCfgPpiGuid,
|
||||||
|
<*>
|
||||||
|
};
|
||||||
|
(**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);
|
||||||
|
}
|
||||||
|
|
||||||
|
In addition, the PeiServicesTable definition in PeiApi.h is updated to
|
||||||
|
|
||||||
|
struct _EFI_PEI_SERVICES {
|
||||||
|
EFI_TABLE_HEADER Hdr;
|
||||||
|
...
|
||||||
|
|
||||||
|
//
|
||||||
|
// Pointer to PPI interface
|
||||||
|
//
|
||||||
|
if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||||
|
|
||||||
|
PEI_CPU_IO_PPI *CpuIo;
|
||||||
|
ECP_PEI_PCI_CFG_PPI *PciCfg; //Changed.
|
||||||
|
else
|
||||||
|
...
|
||||||
|
endif
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
This change enable the detection of code segment which invokes PeiServices->PciCfg->Modify.
|
||||||
|
Such code causes a build break as ECP_PEI_PCI_CFG_PPI does not has "Modify" field.
|
||||||
|
This should be updated to a call to PeiLibPciCfgModify as shown below:
|
||||||
|
|
||||||
|
Search pattern:
|
||||||
|
*->Modify(<*>);
|
||||||
|
Replace pattern:
|
||||||
|
PeiLibPciCfgModify(<*>);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PIWG's PI specification replaces Inte's EFI Specification 1.10.
|
PIWG's PI specification replaces Inte's EFI Specification 1.10.
|
||||||
EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by
|
EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the
|
# Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the
|
||||||
# PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of
|
# PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of
|
||||||
# EcpPeiPciCfgPpi. EcpPeiPciCfgPpi is installed in a framework module which
|
# EcpPeiPciCfgPpi.
|
||||||
# produce PciCfgPpi originally. This framework module is updated based on the
|
#
|
||||||
# following rule:
|
# EcpPeiPciCfgPpi is installed by a framework module which
|
||||||
|
# produce PciCfgPpi originally. Such framework module is updated based on the
|
||||||
|
# following rule to install EcpPeiPciCfgPpi instead of updating the PciCfg pointer
|
||||||
|
# in the Framework PeiServicesTable:
|
||||||
|
#
|
||||||
# Search pattern:
|
# Search pattern:
|
||||||
# PeiServices->PciCfg = <*>;
|
# PeiServices->PciCfg = <*>;
|
||||||
# Replace pattern:
|
# Replace pattern:
|
||||||
|
@ -15,7 +19,35 @@
|
||||||
# };
|
# };
|
||||||
# (**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);
|
# (**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);
|
||||||
# }
|
# }
|
||||||
|
#
|
||||||
|
# In addition, the PeiServicesTable definition in PeiApi.h is updated to
|
||||||
|
#
|
||||||
|
# struct _EFI_PEI_SERVICES {
|
||||||
|
# EFI_TABLE_HEADER Hdr;
|
||||||
|
# ...
|
||||||
|
#
|
||||||
|
# //
|
||||||
|
# // Pointer to PPI interface
|
||||||
|
# //
|
||||||
|
# #if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||||
|
#
|
||||||
|
# PEI_CPU_IO_PPI *CpuIo;
|
||||||
|
# ECP_PEI_PCI_CFG_PPI *PciCfg; //Changed.
|
||||||
|
# #else
|
||||||
|
# ...
|
||||||
|
# #endif
|
||||||
|
#
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# This change enable the detection of code segment which invokes PeiServices->PciCfg->Modify.
|
||||||
|
# Such code causes a build break as ECP_PEI_PCI_CFG_PPI does not has "Modify" field.
|
||||||
|
# This should be updated to a call to PeiLibPciCfgModify as shown below:
|
||||||
|
#
|
||||||
|
# Search pattern:
|
||||||
|
# *->Modify(<*>);
|
||||||
|
# Replace pattern:
|
||||||
|
# PeiLibPciCfgModify(<*>);
|
||||||
|
#
|
||||||
# PIWG's PI specification replaces Inte's EFI Specification 1.10.
|
# PIWG's PI specification replaces Inte's EFI Specification 1.10.
|
||||||
# EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by
|
# EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by
|
||||||
# EFI_PEI_PCI_CFG2_PPI in PI 1.0.
|
# EFI_PEI_PCI_CFG2_PPI in PI 1.0.
|
||||||
|
|
Loading…
Reference in New Issue