]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Compatibility/Include/Ppi/EcpPciCfg.h
Grammatical and disclaimer changes (does not follow internal C coding stds.)
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / Include / Ppi / EcpPciCfg.h
1 /** @file
2 This PPI is the same as the PPI in the framework PciCfg, with one exception.
3 Specifically, this PPI does not include a modify API, while the PPI in the framework PciCfg does.
4
5 Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved<BR>
6 Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php.
11
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 **/
16
17 #ifndef _PEI_PCI_CFG_H_
18 #define _PEI_PCI_CFG_H_
19
20 #include <Ppi/PciCfg.h>
21
22 #define ECP_PEI_PCI_CFG_PPI_GUID \
23 {0xb0ee53d4, 0xa049, 0x4a79, { 0xb2, 0xff, 0x19, 0xd9, 0xfa, 0xef, 0xaa, 0x94}}
24
25 typedef struct _ECP_PEI_PCI_CFG_PPI ECP_PEI_PCI_CFG_PPI;
26
27 /**
28 A PCI read and write operation.
29
30 Writes to, or reads from, a given location in the PCI configuration space.
31
32 @param PeiServices An indirect pointer to the PEI Services Table
33 published by the PEI Foundation.
34 @param This The pointer to local data for the interface.
35 @param Width The width of the access. Enumerated in bytes.
36 @param Address The physical address of the access. The format of
37 the address is described by EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS.
38 @param Buffer A pointer to the buffer of data.
39 @retval EFI_SUCCESS The function completed successfully.
40 @retval EFI_DEVICE_ERROR There was a problem with the transaction.
41 @retval EFI_DEVICE_NOT_READY The device is not capable of supporting the
42 operation at this time.
43 **/
44 typedef
45 EFI_STATUS
46 (EFIAPI *ECP_PEI_PCI_CFG_PPI_IO)(
47 IN EFI_PEI_SERVICES **PeiServices,
48 IN EFI_PEI_PCI_CFG_PPI * This,
49 IN EFI_PEI_PCI_CFG_PPI_WIDTH Width,
50 IN UINT64 Address,
51 IN OUT VOID *Buffer
52 );
53
54 struct _ECP_PEI_PCI_CFG_PPI {
55 ECP_PEI_PCI_CFG_PPI_IO Read;
56 ECP_PEI_PCI_CFG_PPI_IO Write;
57 };
58
59 extern EFI_GUID gEcpPeiPciCfgPpiGuid;
60
61 #endif