]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Common/BootScript.h
automagically convert ELF to PE/COFF (i386 only)
[mirror_edk2.git] / MdePkg / Include / Common / BootScript.h
index 12bcc5bef7043379606c107474aff206e10b646c..ef444251e60962c1e49de13daea5845d12aa7785 100644 (file)
 #define EFI_BOOT_SCRIPT_SMBUS_EXECUTE_OPCODE          0x06\r
 #define EFI_BOOT_SCRIPT_STALL_OPCODE                  0x07\r
 #define EFI_BOOT_SCRIPT_DISPATCH_OPCODE               0x08\r
+#define EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE             0x09\r
+#define EFI_BOOT_SCRIPT_INFORMATION_OPCODE            0x0A\r
 \r
 #define EFI_BOOT_SCRIPT_TABLE_OPCODE                  0xAA\r
 #define EFI_BOOT_SCRIPT_TERMINATE_OPCODE              0xFF\r
 \r
+#ifndef __GNUC__\r
+#pragma pack(1)\r
+#endif\r
+\r
 //\r
 // EFI Boot Script Width\r
 //\r
@@ -103,68 +109,68 @@ typedef struct {
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
+  UINT32                Width;\r
 } EFI_BOOT_SCRIPT_COMMON_HEADER;\r
 \r
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
-  UINT                Count;\r
+  UINT32                Width;\r
+  UINT32                Count;\r
   UINT64                Address;\r
 } EFI_BOOT_SCRIPT_IO_WRITE;\r
 \r
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
+  UINT32                Width;\r
   UINT64                Address;\r
 } EFI_BOOT_SCRIPT_IO_READ_WRITE;\r
 \r
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
-  UINT                Count;\r
+  UINT32                Width;\r
+  UINT32                Count;\r
   UINT64                Address;\r
 } EFI_BOOT_SCRIPT_MEM_WRITE;\r
 \r
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
+  UINT32                Width;\r
   UINT64                Address;\r
 } EFI_BOOT_SCRIPT_MEM_READ_WRITE;\r
 \r
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
-  UINT                Count;\r
+  UINT32                Width;\r
+  UINT32                Count;\r
   UINT64                Address;\r
 } EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE;\r
 \r
 typedef struct {\r
   UINT16                OpCode;\r
   UINT8                 Length;\r
-  EFI_BOOT_SCRIPT_WIDTH Width;\r
+  UINT32                Width;\r
   UINT64                Address;\r
 } EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE;\r
 \r
 typedef struct {\r
   UINT16                    OpCode;\r
   UINT8                     Length;\r
-  EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress;\r
-  EFI_SMBUS_DEVICE_COMMAND  Command;\r
-  EFI_SMBUS_OPERATION       Operation;\r
+  UINT64                    SlaveAddress;\r
+  UINT64                    Command;\r
+  UINT32                    Operation;\r
   BOOLEAN                   PecCheck;\r
-  UINT                    DataSize;\r
+  UINT32                    DataSize;\r
 } EFI_BOOT_SCRIPT_SMBUS_EXECUTE;\r
 \r
 typedef struct {\r
   UINT16  OpCode;\r
   UINT8   Length;\r
-  UINT  Duration;\r
+  UINT64  Duration;\r
 } EFI_BOOT_SCRIPT_STALL;\r
 \r
 typedef struct {\r
@@ -173,6 +179,20 @@ typedef struct {
   EFI_PHYSICAL_ADDRESS  EntryPoint;\r
 } EFI_BOOT_SCRIPT_DISPATCH;\r
 \r
+typedef struct {\r
+  UINT16                OpCode;\r
+  UINT8                 Length;\r
+  EFI_PHYSICAL_ADDRESS  EntryPoint;\r
+  EFI_PHYSICAL_ADDRESS  Context;\r
+} EFI_BOOT_SCRIPT_DISPATCH_2;\r
+\r
+typedef struct {\r
+  UINT16  OpCode;\r
+  UINT8   Length;\r
+  UINT32                InformationLength;  \r
+  EFI_PHYSICAL_ADDRESS  Information;\r
+} EFI_BOOT_SCRIPT_INFORMATION;\r
+\r
 typedef struct {\r
   UINT16  OpCode;\r
   UINT8   Length;\r
@@ -190,9 +210,15 @@ typedef union {
   EFI_BOOT_SCRIPT_SMBUS_EXECUTE         *SmbusExecute;\r
   EFI_BOOT_SCRIPT_STALL                 *Stall;\r
   EFI_BOOT_SCRIPT_DISPATCH              *Dispatch;\r
+  EFI_BOOT_SCRIPT_DISPATCH_2            *Dispatch2;  \r
+  EFI_BOOT_SCRIPT_INFORMATION           *Information;\r
   EFI_BOOT_SCRIPT_TERMINATE             *Terminate;\r
   EFI_BOOT_SCRIPT_COMMON_HEADER         *CommonHeader;\r
   UINT8                                 *Raw;\r
 } BOOT_SCRIPT_POINTERS;\r
 \r
+#ifndef __GNUC__\r
+#pragma pack()\r
+#endif\r
+\r
 #endif\r