\r
@par Revision Reference:\r
This protocol is defined in Framework for EFI Compatibility Support Module spec\r
- Version 0.96\r
+ Version 0.97.\r
\r
**/\r
\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
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_INFO) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_INFO)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
IN EFI_GET_PLATFORM_INFO_MODE Mode,\r
OUT VOID **Table,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_HANDLE) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_HANDLE)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
IN EFI_GET_PLATFORM_HANDLE_MODE Mode,\r
IN UINT16 Type,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_SMM_INIT) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_SMM_INIT)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
IN VOID *EfiToLegacy16BootTable\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_HOOKS) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_HOOKS)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
IN EFI_GET_PLATFORM_HOOK_MODE Mode,\r
IN UINT16 Type,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
OUT VOID **RoutingTable,\r
OUT UINTN *RoutingTableEntries,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
IN UINTN PciBus,\r
IN UINTN PciDevice,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_PREPARE_TO_BOOT) (\r
+(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_PREPARE_TO_BOOT)(\r
IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,\r
IN BBS_BBS_DEVICE_PATH *BbsDevicePath,\r
IN VOID *BbsTable,\r