Legacy16InstallPciHandler = 0x0008\r
} EFI_COMPATIBILITY_FUNCTIONS;\r
\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+// EFI_DISPATCH_OPROM_TABLE\r
+///////////////////////////////////////////////////////////////////////////////\r
+\r
+typedef struct {\r
+ UINT16 PnPInstallationCheckSegment;\r
+ UINT16 PnPInstallationCheckOffset;\r
+ UINT16 OpromSegment;\r
+ UINT8 PciBus;\r
+ UINT8 PciDeviceFunction;\r
+ UINT8 NumberBbsEntries;\r
+ VOID *BbsTablePointer; /// @bug: variable size on 32/64-bit systems.\r
+ UINT16 RuntimeSegment;\r
+} EFI_DISPATCH_OPROM_TABLE;\r
+\r
//\r
// EFI_TO_COMPATIBILITY16_INIT_TABLE\r
//\r
\r
typedef struct _EFI_LEGACY_BIOS_PROTOCOL EFI_LEGACY_BIOS_PROTOCOL;\r
\r
+//\r
+// Flags returned by CheckPciRom()\r
+//\r
+#define NO_ROM 0x00\r
+#define ROM_FOUND 0x01\r
+#define VALID_LEGACY_ROM 0x02\r
+#define ROM_WITH_CONFIG 0x04 // Not defined in CSM Specification0.96\r
+\r
//\r
/// @bug These macros appear in no specifications and are kept for backward\r
// compatibility only.\r
EfiPlatformHookAfterRomInit = 2\r
} EFI_GET_PLATFORM_HOOK_MODE;\r
\r
+\r
+//\r
+//\r
+//\r
+\r
+#define PCI_UNUSED 0x00\r
+#define PCI_USED 0xFF\r
+#define LEGACY_USED 0xFE\r
+\r
+#pragma pack(1)\r
+\r
+//\r
+//\r
+//\r
+typedef struct {\r
+ UINT8 Irq;\r
+ UINT8 Used;\r
+} EFI_LEGACY_IRQ_PRIORITY_TABLE_ENTRY;\r
+\r
+//\r
+// Define PIR table structures\r
+//\r
+#define EFI_LEGACY_PIRQ_TABLE_SIGNATURE SIGNATURE_32 ('$', 'P', 'I', 'R')\r
+\r
+typedef struct {\r
+ UINT32 Signature;\r
+ UINT8 MinorVersion;\r
+ UINT8 MajorVersion;\r
+ UINT16 TableSize;\r
+ UINT8 Bus;\r
+ UINT8 DevFun;\r
+ UINT16 PciOnlyIrq;\r
+ UINT16 CompatibleVid;\r
+ UINT16 CompatibleDid;\r
+ UINT32 Miniport;\r
+ UINT8 Reserved[11];\r
+ UINT8 Checksum;\r
+} EFI_LEGACY_PIRQ_TABLE_HEADER;\r
+\r
+\r
+typedef struct {\r
+ UINT8 Pirq;\r
+ UINT16 IrqMask;\r
+} EFI_LEGACY_PIRQ_ENTRY;\r
+\r
+typedef struct {\r
+ UINT8 Bus;\r
+ UINT8 Device;\r
+ EFI_LEGACY_PIRQ_ENTRY PirqEntry[4];\r
+ UINT8 Slot;\r
+ UINT8 Reserved;\r
+} EFI_LEGACY_IRQ_ROUTING_ENTRY;\r
+\r
+#pragma pack()\r
+\r
+\r
/**\r
Finds the binary data or other platform information.\r
\r