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