• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*++
2 
3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 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(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()
63 
64 #endif
65