+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR>\r
-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:\r
-\r
- EfiBootScript.h\r
-\r
-Abstract:\r
-\r
- \r
-\r
---*/\r
-\r
-#ifndef _EFI_SCRIPT_H_\r
-#define _EFI_SCRIPT_H_\r
-\r
-#include "EfiSmbus.h"\r
-\r
-#define EFI_ACPI_S3_RESUME_SCRIPT_TABLE 0x00\r
-\r
-//\r
-// Boot Script Opcode Definitions\r
-//\r
-typedef const UINT16 EFI_BOOT_SCRIPT_OPCODE;\r
-\r
-#define EFI_BOOT_SCRIPT_IO_WRITE_OPCODE 0x00\r
-#define EFI_BOOT_SCRIPT_IO_READ_WRITE_OPCODE 0x01\r
-#define EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE 0x02\r
-#define EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE 0x03\r
-#define EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE_OPCODE 0x04\r
-#define EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE 0x05\r
-#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
-\r
-//\r
-// Extensions to boot script definitions\r
-//\r
-#define EFI_BOOT_SCRIPT_MEM_POLL_OPCODE 0x09\r
-#define EFI_BOOT_SCRIPT_INFORMATION_OPCODE 0x0A\r
-#define EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_OPCODE 0x0B\r
-#define EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE_OPCODE 0x0C\r
-\r
-#define EFI_BOOT_SCRIPT_TABLE_OPCODE 0xAA\r
-#define EFI_BOOT_SCRIPT_TERMINATE_OPCODE 0xFF\r
-\r
-#pragma pack(1)\r
-\r
-//\r
-// EFI Boot Script Width\r
-//\r
-typedef enum {\r
- EfiBootScriptWidthUint8,\r
- EfiBootScriptWidthUint16,\r
- EfiBootScriptWidthUint32,\r
- EfiBootScriptWidthUint64,\r
- EfiBootScriptWidthFifoUint8,\r
- EfiBootScriptWidthFifoUint16,\r
- EfiBootScriptWidthFifoUint32,\r
- EfiBootScriptWidthFifoUint64,\r
- EfiBootScriptWidthFillUint8,\r
- EfiBootScriptWidthFillUint16,\r
- EfiBootScriptWidthFillUint32,\r
- EfiBootScriptWidthFillUint64,\r
- EfiBootScriptWidthMaximum\r
-} EFI_BOOT_SCRIPT_WIDTH;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
-} EFI_BOOT_SCRIPT_GENERIC_HEADER;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
- UINT16 Version;\r
- UINT32 TableLength;\r
- UINT16 Reserved[2];\r
-} EFI_BOOT_SCRIPT_TABLE_HEADER;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
- UINT32 Width;\r
-} EFI_BOOT_SCRIPT_COMMON_HEADER;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\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
- UINT32 Width;\r
- UINT64 Address;\r
-} EFI_BOOT_SCRIPT_IO_READ_WRITE;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\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
- UINT32 Width;\r
- UINT64 Address;\r
-} EFI_BOOT_SCRIPT_MEM_READ_WRITE;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\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
- UINT32 Width;\r
- UINT32 Count;\r
- UINT64 Address;\r
- UINT16 Segment;\r
-} EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\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
- UINT32 Width;\r
- UINT64 Address;\r
- UINT16 Segment;\r
-} EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE;\r
-\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
- UINT64 SlaveAddress;\r
- UINT64 Command;\r
- UINT32 Operation;\r
- BOOLEAN PecCheck;\r
- UINT32 DataSize;\r
-} EFI_BOOT_SCRIPT_SMBUS_EXECUTE;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
- UINT64 Duration;\r
-} EFI_BOOT_SCRIPT_STALL;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
- EFI_PHYSICAL_ADDRESS EntryPoint;\r
-} EFI_BOOT_SCRIPT_DISPATCH;\r
-\r
-typedef struct {\r
- UINT16 OpCode;\r
- UINT8 Length;\r
- UINT32 Width;\r
- UINT64 Address;\r
- UINT64 BitMask;\r
- UINT64 BitValue;\r
- UINT64 Duration;\r
- UINT64 LoopTimes;\r
-} EFI_BOOT_SCRIPT_MEM_POLL;\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
-} EFI_BOOT_SCRIPT_TERMINATE;\r
-\r
-typedef union {\r
- EFI_BOOT_SCRIPT_GENERIC_HEADER *Header;\r
- EFI_BOOT_SCRIPT_TABLE_HEADER *TableInfo;\r
- EFI_BOOT_SCRIPT_IO_WRITE *IoWrite;\r
- EFI_BOOT_SCRIPT_IO_READ_WRITE *IoReadWrite;\r
- EFI_BOOT_SCRIPT_MEM_WRITE *MemWrite;\r
- EFI_BOOT_SCRIPT_MEM_READ_WRITE *MemReadWrite;\r
- EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE *PciWrite;\r
- EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE *PciReadWrite;\r
- EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE *PciWrite2;\r
- EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE *PciReadWrite2;\r
- EFI_BOOT_SCRIPT_SMBUS_EXECUTE *SmbusExecute;\r
- EFI_BOOT_SCRIPT_STALL *Stall;\r
- EFI_BOOT_SCRIPT_DISPATCH *Dispatch;\r
- EFI_BOOT_SCRIPT_MEM_POLL *MemPoll;\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
-#pragma pack()\r
-\r
-#endif\r