MdePkg/Include/Ppi/PciCfg2.h File Reference


Data Structures

struct  EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS
struct  _EFI_PEI_PCI_CFG2_PPI

Defines

#define EFI_PEI_PCI_CFG2_PPI_GUID   { 0x57a449a, 0x1fdc, 0x4c06, { 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 } }
#define EFI_PEI_PCI_CFG_ADDRESS(bus, dev, func, reg)

Typedefs

typedef struct
_EFI_PEI_PCI_CFG2_PPI 
EFI_PEI_PCI_CFG2_PPI
typedef EFI_STATUS(EFIAPIEFI_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)
typedef EFI_STATUS(EFIAPIEFI_PEI_PCI_CFG2_PPI_RW )(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 VOID *SetBits, IN VOID *ClearBits)

Enumerations

enum  EFI_PEI_PCI_CFG_PPI_WIDTH {
  EfiPeiPciCfgWidthUint8 = 0, EfiPeiPciCfgWidthUint16 = 1, EfiPeiPciCfgWidthUint32 = 2, EfiPeiPciCfgWidthUint64 = 3,
  EfiPeiPciCfgWidthMaximum
}

Variables

EFI_GUID gEfiPciCfg2PpiGuid

Detailed Description

This file declares PciCfg2 PPI.

This ppi Provides platform or chipset-specific access to the PCI configuration space for a specific PCI segment.

Copyright (c) 2006 - 2011, 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

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Revision Reference:
This PPI is introduced in PI Version 1.0.

Define Documentation

#define EFI_PEI_PCI_CFG2_PPI_GUID   { 0x57a449a, 0x1fdc, 0x4c06, { 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 } }

#define EFI_PEI_PCI_CFG_ADDRESS ( bus,
dev,
func,
reg   ) 

Value:

(UINT64) ( \
  (((UINTN) bus) << 24) | \
  (((UINTN) dev) << 16) | \
  (((UINTN) func) << 8) | \
  (((UINTN) (reg)) < 256 ? ((UINTN) (reg)) : (UINT64) (LShiftU64 ((UINT64) (reg), 32))))


Typedef Documentation

typedef EFI_STATUS(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)

Reads from or write to a given location in the PCI configuration space.

Parameters:
PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
This Pointer to local data for the interface.
Width The width of the access. Enumerated in bytes. See EFI_PEI_PCI_CFG_PPI_WIDTH above.
Address The physical address of the access. The format of the address is described by EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS.
Buffer A pointer to the buffer of data..
Return values:
EFI_SUCCESS The function completed successfully.
EFI_DEVICE_ERROR There was a problem with the transaction.
EFI_DEVICE_NOT_READY The device is not capable of supporting the operation at this time.

typedef EFI_STATUS(EFIAPI * EFI_PEI_PCI_CFG2_PPI_RW)(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 VOID *SetBits, IN VOID *ClearBits)

Performs a read-modify-write operation on the contents from a given location in the PCI configuration space.

Parameters:
PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
This Pointer to local data for the interface.
Width The width of the access. Enumerated in bytes. Type EFI_PEI_PCI_CFG_PPI_WIDTH is defined in Read().
Address The physical address of the access.
SetBits Points to value to bitwise-OR with the read configuration value.
The size of the value is determined by Width.

Parameters:
ClearBits Points to the value to negate and bitwise-AND with the read configuration value. The size of the value is determined by Width.
Return values:
EFI_SUCCESS The function completed successfully.
EFI_DEVICE_ERROR There was a problem with the transaction.
EFI_DEVICE_NOT_READY The device is not capable of supporting the operation at this time.


Enumeration Type Documentation

EFI_PEI_PCI_CFG_PPI_WIDTH

Enumerator:
EfiPeiPciCfgWidthUint8  8-bit access
EfiPeiPciCfgWidthUint16  16-bit access
EfiPeiPciCfgWidthUint32  32-bit access
EfiPeiPciCfgWidthUint64  64-bit access
EfiPeiPciCfgWidthMaximum 


Variable Documentation


Generated on Thu Sep 24 23:14:19 2015 for MdePkg[ALL] by  doxygen 1.5.7.1