2 # Module produces PciCfgPpi2 on top of PciCfgPpi. It also updates the
3 # PciCfg2Ppi pointer in the EFI_PEI_SERVICES upon a installation of
6 # EcpPeiPciCfgPpi is installed by a framework module which
7 # produce PciCfgPpi originally. Such framework module is updated based on the
8 # following rule to install EcpPeiPciCfgPpi instead of updating the PciCfg pointer
9 # in the Framework PeiServicesTable:
12 # PeiServices->PciCfg = <*>;
15 # static EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {
16 # (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
17 # &gEcpPeiPciCfgPpiGuid,
20 # (**PeiServices).InstallPpi (PeiServices, &gEcpPeiPciCfgPpiList);
23 # In addition, the PeiServicesTable definition in PeiApi.h is updated to
25 # struct _EFI_PEI_SERVICES {
26 # EFI_TABLE_HEADER Hdr;
30 # // Pointer to PPI interface
32 # #if (PI_SPECIFICATION_VERSION < 0x00010000)
34 # PEI_CPU_IO_PPI *CpuIo;
35 # ECP_PEI_PCI_CFG_PPI *PciCfg; //Changed.
42 # This change enable the detection of code segment which invokes PeiServices->PciCfg->Modify.
43 # Such code causes a build break as ECP_PEI_PCI_CFG_PPI does not has "Modify" field.
44 # This should be updated to a call to PeiLibPciCfgModify as shown below:
49 # PeiLibPciCfgModify(<*>);
51 # PIWG's PI specification replaces Inte's EFI Specification 1.10.
52 # EFI_PEI_PCI_CFG_PPI defined in Inte's EFI Specification 1.10 is replaced by
53 # EFI_PEI_PCI_CFG2_PPI in PI 1.0.
54 # This module produces PciCfgPpi on top of PciCfgPpi2. This module is used on platform when both of
55 # these two conditions are true:
56 # 1) Framework module present that produces PCI CFG PPI AND
57 # 2) PI module that produces PCI CFG2 is not present
60 # Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
62 # This program and the accompanying materials
63 # are licensed and made available under the terms and conditions of the BSD License
64 # which accompanies this distribution. The full text of the license may be found at
65 # http://opensource.org/licenses/bsd-license.php
66 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
67 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
73 INF_VERSION = 0x00010005
74 BASE_NAME = PciCfg2OnPciCfgThunk
75 FILE_GUID = 41401688-2862-431b-BAAC-6ECADAC384AB
79 ENTRY_POINT = PeimInitializePciCfg2
82 # The following information is for reference only and not required by the build tools.
84 # VALID_ARCHITECTURES = IA32 X64 IPF EBC
88 PciCfg2OnPciCfgThunk.c
92 IntelFrameworkPkg/IntelFrameworkPkg.dec
93 EdkCompatibilityPkg/EdkCompatibilityPkg.dec
100 gEfiPciCfgPpiInServiceTableGuid