// Boot Script Opcode Definitions\r
//\r
\r
+///\r
+/// The opcode is to add a record for an I/O write operation into a specified boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_IO_WRITE_OPCODE 0x00\r
+///\r
+/// The opcode is to add a record for an I/O modify operation into a specified boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_IO_READ_WRITE_OPCODE 0x01\r
+///\r
+/// The opcode is to add a record for a memory write operation into a specified boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE 0x02\r
+///\r
+/// The opcode is to add a record for a memory modify operation into a specified boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE 0x03\r
+///\r
+/// The opcode is to adds a record for a PCI configuration space write operation into a specified boot \r
+/// script table.\r
+///\r
#define EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE_OPCODE 0x04\r
+///\r
+/// The opcode is to add a record for a PCI configuration space modify operation into a specified \r
+/// boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE 0x05\r
+///\r
+/// The opcode is to add a record for an SMBus command execution into a specified boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_SMBUS_EXECUTE_OPCODE 0x06\r
+///\r
+/// The opcode is to adds a record for an execution stall on the processor into a specified\r
+/// boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_STALL_OPCODE 0x07\r
+///\r
+/// The opcode is to add a record for dispatching specified arbitrary code into a specified \r
+/// boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_DISPATCH_OPCODE 0x08\r
\r
//\r
-// Extensions to boot script definitions\r
+// Extensions to boot script definitions \r
//\r
+\r
+///\r
+/// The opcode is to add a record for memory reads of the memory location and continues when the \r
+/// exit criteria is satisfied or after a defined duration.\r
+///\r
#define EFI_BOOT_SCRIPT_MEM_POLL_OPCODE 0x09\r
+///\r
+/// The opcode is to store arbitrary information in the boot script table which is a no-op on dispatch \r
+/// and is only used for debugging script issues.\r
+///\r
#define EFI_BOOT_SCRIPT_INFORMATION_OPCODE 0x0A\r
+///\r
+/// The opcode is to add a record for a PCI configuration space write operation into a \r
+/// specified boot script table.\r
+/// \r
#define EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_OPCODE 0x0B\r
+///\r
+/// The opcode is to add a record for a PCI configuration space modify operation into a specified\r
+/// boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE_OPCODE 0x0C\r
+///\r
+/// The opcode is to add a record for dispatching specified arbitrary code into a specified\r
+/// boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE 0x0D\r
+///\r
+/// The opcode indicate the start of the boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_TABLE_OPCODE 0xAA\r
+///\r
+/// The opcode indicate the end of the boot script table.\r
+///\r
#define EFI_BOOT_SCRIPT_TERMINATE_OPCODE 0xFF\r
\r
-//\r
-// EFI Boot Script Width\r
-//\r
+///\r
+/// EFI Boot Script Width\r
+///\r
typedef enum {\r
EfiBootScriptWidthUint8,\r
EfiBootScriptWidthUint16,\r
);\r
\r
///\r
-/// This PPI produces functions to interpret and execute the Framework boot script table.\r
+/// EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI produces the function which interprets and \r
+/// executes the Framework boot script table\r
///\r
struct _EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI {\r
- EFI_PEI_BOOT_SCRIPT_EXECUTE Execute; ///< Executes a boot script table.\r
+ ///\r
+ /// Executes a boot script table\r
+ ///\r
+ EFI_PEI_BOOT_SCRIPT_EXECUTE Execute; \r
};\r
\r
extern EFI_GUID gEfiPeiBootScriptExecuterPpiGuid;\r