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