]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/EfiPci.h
This check-in add Pci23.h, Pci30.h, EfiPci.h and take those originally put in Pci22...
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / EfiPci.h
1 /** @file
2 Support for EFI PCI specification.
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 Module Name: EfiPci.h
14
15 **/
16
17 #ifndef _EFI_PCI_H_
18 #define _EFI_PCI_H_
19
20 //#include "pci22.h"
21 //#include "pci23.h"
22 //#include "pci30.h"
23
24 #pragma pack(push, 1)
25
26 typedef struct {
27 UINT8 Register;
28 UINT8 Function;
29 UINT8 Device;
30 UINT8 Bus;
31 UINT8 Reserved[4];
32 } DEFIO_PCI_ADDR;
33
34 #define EFI_ROOT_BRIDGE_LIST 'eprb'
35 #define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1
36
37 typedef struct {
38 UINT16 Signature; // 0xaa55
39 UINT16 InitializationSize;
40 UINT32 EfiSignature; // 0x0EF1
41 UINT16 EfiSubsystem;
42 UINT16 EfiMachineType;
43 UINT16 CompressionType;
44 UINT8 Reserved[8];
45 UINT16 EfiImageHeaderOffset;
46 UINT16 PcirOffset;
47 } EFI_PCI_EXPANSION_ROM_HEADER;
48
49 typedef union {
50 UINT8 *Raw;
51 PCI_EXPANSION_ROM_HEADER *Generic;
52 EFI_PCI_EXPANSION_ROM_HEADER *Efi;
53 EFI_LEGACY_EXPANSION_ROM_HEADER *PcAt;
54 } EFI_PCI_ROM_HEADER;
55
56 #pragma pack(pop)
57
58 #endif