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