]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.h
520f0e686b7b84f097d5b52b778020dae902bed9
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Ppi / PciCfg / PciCfg.h
1 /*++
2
3 Copyright (c) 2004 - 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 PciCfg.h
15
16 Abstract:
17
18 PciCfg PPI as defined in PEI CIS specification
19
20 Used to access PCI configuration space in PEI
21
22 --*/
23
24 #ifndef _PEI_PCI_CFG_H_
25 #define _PEI_PCI_CFG_H_
26 #include "EfiPciCfg.h"
27
28 #define PEI_PCI_CFG_PPI_GUID \
29 { \
30 0xe1f2eba0, 0xf7b9, 0x4a26, 0x86, 0x20, 0x13, 0x12, 0x21, 0x64, 0x2a, 0x90 \
31 }
32
33 EFI_FORWARD_DECLARATION (PEI_PCI_CFG_PPI);
34
35
36 typedef
37 EFI_STATUS
38 (EFIAPI *PEI_PCI_CFG_PPI_IO) (
39 IN EFI_PEI_SERVICES **PeiServices,
40 IN PEI_PCI_CFG_PPI * This,
41 IN PEI_PCI_CFG_PPI_WIDTH Width,
42 IN UINT64 Address,
43 IN OUT VOID *Buffer
44 );
45
46 typedef
47 EFI_STATUS
48 (EFIAPI *PEI_PCI_CFG_PPI_RW) (
49 IN EFI_PEI_SERVICES **PeiServices,
50 IN PEI_PCI_CFG_PPI * This,
51 IN PEI_PCI_CFG_PPI_WIDTH Width,
52 IN UINT64 Address,
53 IN UINTN SetBits,
54 IN UINTN ClearBits
55 );
56
57 typedef struct _PEI_PCI_CFG_PPI {
58 PEI_PCI_CFG_PPI_IO Read;
59 PEI_PCI_CFG_PPI_IO Write;
60 PEI_PCI_CFG_PPI_RW Modify;
61 } PEI_PCI_CFG_PPI;
62
63 extern EFI_GUID gPeiPciCfgPpiInServiceTableGuid;
64
65 #endif