+/** @file\r
+ Support for EFI PCI specification.\r
+\r
+ Copyright (c) 2006, Intel Corporation \r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+ Module Name: EfiPci.h\r
+\r
+**/\r
+\r
+#ifndef _EFI_PCI_H_\r
+#define _EFI_PCI_H_\r
+\r
+//#include "pci22.h"\r
+//#include "pci23.h"\r
+//#include "pci30.h"\r
+\r
+#pragma pack(push, 1)\r
+\r
+typedef struct {\r
+ UINT8 Register;\r
+ UINT8 Function;\r
+ UINT8 Device;\r
+ UINT8 Bus;\r
+ UINT8 Reserved[4];\r
+} DEFIO_PCI_ADDR;\r
+\r
+#define EFI_ROOT_BRIDGE_LIST 'eprb'\r
+#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1\r
+\r
+typedef struct {\r
+ UINT16 Signature; // 0xaa55\r
+ UINT16 InitializationSize;\r
+ UINT32 EfiSignature; // 0x0EF1\r
+ UINT16 EfiSubsystem;\r
+ UINT16 EfiMachineType;\r
+ UINT16 CompressionType;\r
+ UINT8 Reserved[8];\r
+ UINT16 EfiImageHeaderOffset;\r
+ UINT16 PcirOffset;\r
+} EFI_PCI_EXPANSION_ROM_HEADER;\r
+\r
+typedef union {\r
+ UINT8 *Raw;\r
+ PCI_EXPANSION_ROM_HEADER *Generic;\r
+ EFI_PCI_EXPANSION_ROM_HEADER *Efi;\r
+ EFI_LEGACY_EXPANSION_ROM_HEADER *PcAt;\r
+} EFI_PCI_ROM_HEADER;\r
+\r
+#pragma pack(pop)\r
+\r
+#endif\r