]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Framework/BootScript.h
Remove unnecessary FRAMEWORK_ prefix in IntelFrameworkPkg definitions for those defin...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / BootScript.h
CommitLineData
87d63447 1/** @file\r
2 This file contains the boot script defintions that are shared between the \r
3 Boot Script Executor PPI and the Boot Script Save Protocol.\r
4\r
5 Copyright (c) 2009, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
108854b2
LG
16#ifndef _BOOT_SCRIPT_H_\r
17#define _BOOT_SCRIPT_H_\r
87d63447 18\r
19///\r
20/// S3 Boot Script Table identifier\r
21///\r
22#define EFI_ACPI_S3_RESUME_SCRIPT_TABLE 0x00\r
23\r
24///\r
25/// The opcode is to add a record for an I/O write operation into a specified boot script table.\r
26///\r
27#define EFI_BOOT_SCRIPT_IO_WRITE_OPCODE 0x00\r
28///\r
29/// The opcode is to add a record for an I/O modify operation into a specified boot script table.\r
30///\r
31#define EFI_BOOT_SCRIPT_IO_READ_WRITE_OPCODE 0x01\r
32///\r
33/// The opcode is to add a record for a memory write operation into a specified boot script table.\r
34///\r
35#define EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE 0x02\r
36///\r
37/// The opcode is to add a record for a memory modify operation into a specified boot script table.\r
38///\r
39#define EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE 0x03\r
40///\r
41/// The opcode is to adds a record for a PCI configuration space write operation into a specified boot \r
42/// script table.\r
43///\r
44#define EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE_OPCODE 0x04\r
45///\r
46/// The opcode is to add a record for a PCI configuration space modify operation into a specified \r
47/// boot script table.\r
48///\r
49#define EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE 0x05\r
50///\r
51/// The opcode is to add a record for an SMBus command execution into a specified boot script table.\r
52///\r
53#define EFI_BOOT_SCRIPT_SMBUS_EXECUTE_OPCODE 0x06\r
54///\r
55/// The opcode is to adds a record for an execution stall on the processor into a specified\r
56/// boot script table.\r
57///\r
58#define EFI_BOOT_SCRIPT_STALL_OPCODE 0x07\r
59///\r
60/// The opcode is to add a record for dispatching specified arbitrary code into a specified \r
61/// boot script table.\r
62///\r
63#define EFI_BOOT_SCRIPT_DISPATCH_OPCODE 0x08\r
64\r
65//\r
66// Extensions to boot script definitions \r
67//\r
68///\r
69/// Inconsistent with specification here: \r
70/// Follow OPCODEs are not defined in Framework Spec BootScript_0.91, but in\r
71/// PI1.0 Spec. And OPCODEs which are needed in the implementation\r
72///\r
73///\r
74/// The opcode is to add a record for memory reads of the memory location and continues when the \r
75/// exit criteria is satisfied or after a defined duration.\r
76///\r
77#define EFI_BOOT_SCRIPT_MEM_POLL_OPCODE 0x09\r
78///\r
79/// The opcode is to store arbitrary information in the boot script table which is a no-op on dispatch \r
80/// and is only used for debugging script issues.\r
81///\r
82#define EFI_BOOT_SCRIPT_INFORMATION_OPCODE 0x0A\r
83///\r
84/// The opcode is to add a record for a PCI configuration space write operation into a \r
85/// specified boot script table.\r
86/// \r
87#define EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_OPCODE 0x0B\r
88///\r
89/// The opcode is to add a record for a PCI configuration space modify operation into a specified\r
90/// boot script table.\r
91///\r
92#define EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE_OPCODE 0x0C\r
93///\r
94/// The opcode is to add a record for dispatching specified arbitrary code into a specified\r
95/// boot script table.\r
96///\r
97#define EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE 0x0D\r
98\r
99///\r
100/// The opcode indicate the start of the boot script table.\r
101///\r
102#define EFI_BOOT_SCRIPT_TABLE_OPCODE 0xAA\r
103///\r
104/// The opcode indicate the end of the boot script table.\r
105///\r
106#define EFI_BOOT_SCRIPT_TERMINATE_OPCODE 0xFF\r
107\r
108///\r
109/// EFI Boot Script Width\r
110///\r
111typedef enum {\r
112 EfiBootScriptWidthUint8,\r
113 EfiBootScriptWidthUint16,\r
114 EfiBootScriptWidthUint32,\r
115 EfiBootScriptWidthUint64,\r
116 EfiBootScriptWidthFifoUint8,\r
117 EfiBootScriptWidthFifoUint16,\r
118 EfiBootScriptWidthFifoUint32,\r
119 EfiBootScriptWidthFifoUint64,\r
120 EfiBootScriptWidthFillUint8,\r
121 EfiBootScriptWidthFillUint16,\r
122 EfiBootScriptWidthFillUint32,\r
123 EfiBootScriptWidthFillUint64,\r
124 EfiBootScriptWidthMaximum\r
125} EFI_BOOT_SCRIPT_WIDTH;\r
126\r
127#endif\r