X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdePkg%2FInclude%2FPpi%2FPciCfg2.h;h=d44ee09ef00031f9f7f98a2abe9d08c706dfb528;hb=d71325128666d393addfaffa0ddf467bedc01eea;hp=c778e69a49c6e0963796a791ae60793e5f73dc37;hpb=5879b8754ac3c2e7a141bac79f6b2391e6ac0441;p=mirror_edk2.git diff --git a/MdePkg/Include/Ppi/PciCfg2.h b/MdePkg/Include/Ppi/PciCfg2.h index c778e69a49..d44ee09ef0 100644 --- a/MdePkg/Include/Ppi/PciCfg2.h +++ b/MdePkg/Include/Ppi/PciCfg2.h @@ -1,16 +1,17 @@ /** @file - This file declares PciCfg PPI used to access PCI configuration space in PEI + This file declares PciCfg2 PPI. - Copyright (c) 2006 - 2007, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php + This ppi Provides platform or chipset-specific access to + the PCI configuration space for a specific PCI segment. - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + Copyright (c) 2006 - 2008, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php - Module Name: PciCfg.h + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. @par Revision Reference: This PPI is defined in PI @@ -21,6 +22,8 @@ #ifndef __PEI_PCI_CFG2_H__ #define __PEI_PCI_CFG2_H__ +#include +#include #define EFI_PEI_PCI_CFG2_PPI_GUID \ { 0x57a449a, 0x1fdc, 0x4c06, { 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 } } @@ -32,7 +35,7 @@ typedef struct _EFI_PEI_PCI_CFG2_PPI EFI_PEI_PCI_CFG2_PPI; (((bus) << 24) | \ ((dev) << 16) | \ ((func) << 8) | \ - ((reg) < 256 ? (reg) : ((UINT64) (reg) << 32))); + ((reg) < 256 ? (reg) : ((UINT64)(reg) << 32))); // // EFI_PEI_PCI_CFG_PPI_WIDTH @@ -63,10 +66,10 @@ typedef struct { @param This Pointer to local data for the interface. - @param Width The width of the access. Enumerated in bytes. + @param Width The width of the access. Enumerated in bytes. See EFI_PEI_PCI_CFG_PPI_WIDTH above. - @param Address The physical address of the access. The format of + @param Address The physical address of the access. The format of the address is described by EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS. @param Buffer A pointer to the buffer of data.. @@ -82,19 +85,20 @@ typedef struct { **/ typedef EFI_STATUS -(EFIAPI *EFI_PEI_PCI_CFG_PPI_IO) ( - IN CONST EFI_PEI_SERVICES **PeiServices, - IN CONST EFI_PEI_PCI_CFG2_PPI *This, - IN CONST EFI_PEI_PCI_CFG_PPI_WIDTH Width, - IN CONST UINT64 Address, +(EFIAPI *EFI_PEI_PCI_CFG2_PPI_IO)( + IN CONST EFI_PEI_SERVICES **PeiServices, + IN CONST EFI_PEI_PCI_CFG2_PPI *This, + IN EFI_PEI_PCI_CFG_PPI_WIDTH Width, + IN UINT64 Address, IN OUT VOID *Buffer ); /** - PCI read-modify-write operation. + Performs a read-modify-write operation on the contents + from a given location in the PCI configuration space. - @param PeiServices An indirect pointer to the PEI Services Table + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. @param This Pointer to local data for the interface. @@ -104,11 +108,11 @@ EFI_STATUS @param Address The physical address of the access. - @param SetBits Points to value to bitwise-OR with the read configuration value. + @param SetBits Points to value to bitwise-OR with the read configuration value. The size of the value is determined by Width. - @param ClearBits Points to the value to negate and bitwise-AND with the read configuration value. + @param ClearBits Points to the value to negate and bitwise-AND with the read configuration value. The size of the value is determined by Width. @@ -116,24 +120,24 @@ EFI_STATUS @retval EFI_DEVICE_ERROR There was a problem with the transaction. - @retval EFI_DEVICE_NOT_READY The device is not capable of supporting + @retval EFI_DEVICE_NOT_READY The device is not capable of supporting the operation at this time. **/ typedef EFI_STATUS -(EFIAPI *EFI_PEI_PCI_CFG_PPI_RW) ( +(EFIAPI *EFI_PEI_PCI_CFG2_PPI_RW)( IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_PCI_CFG2_PPI *This, - IN CONST EFI_PEI_PCI_CFG_PPI_WIDTH Width, - IN CONST UINT64 Address, + IN EFI_PEI_PCI_CFG_PPI_WIDTH Width, + IN UINT64 Address, IN CONST VOID *SetBits, IN CONST VOID *ClearBits ); /** @par Ppi Description: - The EFI_PEI_PCI_CFG_PPI interfaces are used to abstract accesses to PCI + The EFI_PEI_PCI_CFG_PPI interfaces are used to abstract accesses to PCI controllers behind a PCI root bridge controller. @param Read PCI read services. See the Read() function description. @@ -146,9 +150,9 @@ EFI_STATUS **/ struct _EFI_PEI_PCI_CFG2_PPI { - EFI_PEI_PCI_CFG_PPI_IO Read; - EFI_PEI_PCI_CFG_PPI_IO Write; - EFI_PEI_PCI_CFG_PPI_RW Modify; + EFI_PEI_PCI_CFG2_PPI_IO Read; + EFI_PEI_PCI_CFG2_PPI_IO Write; + EFI_PEI_PCI_CFG2_PPI_RW Modify; UINT16 Segment; };