+//\r
+// EFI PCI Option ROM definitions\r
+// \r
+\r
+#define EFI_ROOT_BRIDGE_LIST 'eprb'\r
+#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1\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
+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