]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Include/EfiPci.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Include / EfiPci.h
1 /*++
2
3 Copyright (c) 2006, 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 EfiPci.h
15
16 Abstract:
17 Support for EFI PCI specification.
18
19 Revision History
20
21 --*/
22
23 #ifndef _EFI_PCI_H_
24 #define _EFI_PCI_H_
25
26 //#include "pci22.h"
27 //#include "pci23.h"
28 //#include "pci30.h"
29
30 #pragma pack(push, 1)
31
32 typedef struct {
33 UINT8 Register;
34 UINT8 Function;
35 UINT8 Device;
36 UINT8 Bus;
37 UINT8 Reserved[4];
38 } DEFIO_PCI_ADDR;
39
40 #define EFI_ROOT_BRIDGE_LIST 'eprb'
41 #define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1
42
43 typedef struct {
44 UINT16 Signature; // 0xaa55
45 UINT16 InitializationSize;
46 UINT32 EfiSignature; // 0x0EF1
47 UINT16 EfiSubsystem;
48 UINT16 EfiMachineType;
49 UINT16 CompressionType;
50 UINT8 Reserved[8];
51 UINT16 EfiImageHeaderOffset;
52 UINT16 PcirOffset;
53 } EFI_PCI_EXPANSION_ROM_HEADER;
54
55 typedef union {
56 UINT8 *Raw;
57 PCI_EXPANSION_ROM_HEADER *Generic;
58 EFI_PCI_EXPANSION_ROM_HEADER *Efi;
59 EFI_LEGACY_EXPANSION_ROM_HEADER *PcAt;
60 } EFI_PCI_ROM_HEADER;
61
62 #pragma pack(pop)
63
64 #endif