]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Update the comments.
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 21 May 2008 07:24:14 +0000 (07:24 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 21 May 2008 07:24:14 +0000 (07:24 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5261 6f19259b-4bc3-4df7-8a09-765794883524

EdkCompatibilityPkg/Compatibility/PciCfg2ToPciCfgThunk/PciCfg2ToPciCfgThunk.c
EdkCompatibilityPkg/Compatibility/PciCfg2ToPciCfgThunk/PciCfg2ToPciCfgThunk.inf

index 727cc687e116e6fb69951f159b3c1a0a8f798c28..bc3605018a8033d198c0def12e4c264363343d62 100644 (file)
@@ -1,20 +1,54 @@
 /** @file\r
-Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the \r
-PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of\r
-EcpPeiPciCfgPpi. EcpPeiPciCfgPpi is installed in a framework module which\r
-produce PciCfgPpi originally. This framework module is updated based on the \r
-following rule:\r
-Search pattern:\r
-          PeiServices->PciCfg = <*>;\r
-Replace pattern:\r
-        {\r
-          static EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {\r
-            (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
-            &gEcpPeiPciCfgPpiGuid,\r
-            <*>\r
-          };\r
-          (**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);\r
-        }\r
+ Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the \r
+ PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of\r
+ EcpPeiPciCfgPpi. \r
+\r
+ EcpPeiPciCfgPpi is installed by a framework module which\r
+ produce PciCfgPpi originally. Such framework module is updated based on the \r
+ following rule to install EcpPeiPciCfgPpi instead of updating the PciCfg pointer\r
+ in the Framework PeiServicesTable: \r
\r
+ Search pattern:\r
+          PeiServices->PciCfg = <*>;\r
+ Replace pattern:\r
+         {\r
+           static EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {\r
+             (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
+             &gEcpPeiPciCfgPpiGuid,\r
+             <*>\r
+           };\r
+           (**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);\r
+         }\r
\r
+ In addition, the PeiServicesTable definition in PeiApi.h is updated to\r
\r
+ struct _EFI_PEI_SERVICES {\r
+   EFI_TABLE_HEADER              Hdr;\r
+   ...\r
\r
+   //\r
+   // Pointer to PPI interface\r
+   //\r
+ if (PI_SPECIFICATION_VERSION < 0x00010000)\r
\r
+   PEI_CPU_IO_PPI                 *CpuIo;\r
+   ECP_PEI_PCI_CFG_PPI        *PciCfg;  //Changed.\r
+ else\r
+ ...\r
+ endif\r
\r
+ };\r
\r
+ This change enable the detection of code segment which invokes PeiServices->PciCfg->Modify.\r
+ Such code causes a build break as ECP_PEI_PCI_CFG_PPI does not has "Modify" field. \r
+ This should be updated to a call to PeiLibPciCfgModify as shown below:\r
\r
+ Search pattern:\r
+               *->Modify(<*>); \r
+ Replace pattern:\r
+               PeiLibPciCfgModify(<*>);\r
+\r
+\r
 \r
 PIWG's PI specification replaces Inte's EFI Specification 1.10.\r
 EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by\r
index 2a0e77ae21f6fa81c2eea346c9f2025a487c8677..f6b7a9140212ad98d8fdc7d41e39c63ae8fb43b4 100644 (file)
@@ -1,9 +1,13 @@
 #/** @file\r
 # Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the \r
 # PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of\r
-# EcpPeiPciCfgPpi. EcpPeiPciCfgPpi is installed in a framework module which\r
-# produce PciCfgPpi originally. This framework module is updated based on the \r
-# following rule:\r
+# EcpPeiPciCfgPpi. \r
+#\r
+# EcpPeiPciCfgPpi is installed by a framework module which\r
+# produce PciCfgPpi originally. Such framework module is updated based on the \r
+# following rule to install EcpPeiPciCfgPpi instead of updating the PciCfg pointer\r
+# in the Framework PeiServicesTable: \r
+# \r
 # Search pattern:\r
 #         PeiServices->PciCfg = <*>;\r
 # Replace pattern:\r
 #           };\r
 #           (**PeiServices).InstallPpi (PeiServices, gEcpPeiPciCfgPpiList);\r
 #         }\r
-\r
+# \r
+# In addition, the PeiServicesTable definition in PeiApi.h is updated to\r
+# \r
+# struct _EFI_PEI_SERVICES {\r
+#   EFI_TABLE_HEADER              Hdr;\r
+#   ...\r
+# \r
+#   //\r
+#   // Pointer to PPI interface\r
+#   //\r
+# #if (PI_SPECIFICATION_VERSION < 0x00010000)\r
+# \r
+#   PEI_CPU_IO_PPI                 *CpuIo;\r
+#   ECP_PEI_PCI_CFG_PPI        *PciCfg;  //Changed.\r
+# #else\r
+# ...\r
+# #endif\r
+# \r
+# };\r
+# \r
+# This change enable the detection of code segment which invokes PeiServices->PciCfg->Modify.\r
+# Such code causes a build break as ECP_PEI_PCI_CFG_PPI does not has "Modify" field. \r
+# This should be updated to a call to PeiLibPciCfgModify as shown below:\r
+# \r
+# Search pattern:\r
+#              *->Modify(<*>); \r
+# Replace pattern:\r
+#              PeiLibPciCfgModify(<*>);\r
+#\r
 # PIWG's PI specification replaces Inte's EFI Specification 1.10.\r
 # EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by\r
 # EFI_PEI_PCI_CFG2_PPI in PI 1.0.\r