]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptInternalFormat.h
MdeModulePkg/FileExplorer: Set Handle to NULL after uninstall protocol
[mirror_edk2.git] / MdeModulePkg / Library / PiDxeS3BootScriptLib / BootScriptInternalFormat.h
CommitLineData
64d14edf 1/** @file\r
2 This file declares the internal Framework Boot Script format used by\r
3 the PI implementation of Script Saver and Executor.\r
4\r
0a4a5b7b 5 Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
64d14edf 6\r
9d510e61 7 SPDX-License-Identifier: BSD-2-Clause-Patent\r
64d14edf 8\r
9**/\r
10\r
11#ifndef _BOOT_SCRIPT_INTERNAL_FORMAT_H_\r
12#define _BOOT_SCRIPT_INTERNAL_FORMAT_H_\r
13\r
14#pragma pack(1)\r
15\r
16//\r
17// Boot Script Opcode Header Structure Definitions\r
18//\r
19\r
20typedef struct {\r
21 UINT16 OpCode;\r
22 UINT8 Length;\r
23} EFI_BOOT_SCRIPT_GENERIC_HEADER;\r
24\r
25typedef struct {\r
26 UINT16 OpCode;\r
27 UINT8 Length;\r
28 UINT16 Version;\r
29 UINT32 TableLength;\r
30 UINT16 Reserved[2];\r
31} EFI_BOOT_SCRIPT_TABLE_HEADER;\r
32\r
33typedef struct {\r
34 UINT16 OpCode;\r
35 UINT8 Length;\r
36 UINT32 Width;\r
37} EFI_BOOT_SCRIPT_COMMON_HEADER;\r
38\r
39typedef struct {\r
40 UINT16 OpCode;\r
41 UINT8 Length;\r
42 UINT32 Width;\r
43 UINT32 Count;\r
44 UINT64 Address;\r
45} EFI_BOOT_SCRIPT_IO_WRITE;\r
46\r
47typedef struct {\r
48 UINT16 OpCode;\r
49 UINT8 Length;\r
50 UINT32 Width;\r
51 UINT64 Address;\r
52} EFI_BOOT_SCRIPT_IO_READ_WRITE;\r
53\r
54typedef struct {\r
55 UINT16 OpCode;\r
56 UINT8 Length;\r
57 UINT32 Width;\r
58 UINT32 Count;\r
59 UINT64 Address;\r
60} EFI_BOOT_SCRIPT_MEM_WRITE;\r
61\r
62typedef struct {\r
63 UINT16 OpCode;\r
64 UINT8 Length;\r
65 UINT32 Width;\r
66 UINT64 Address;\r
67} EFI_BOOT_SCRIPT_MEM_READ_WRITE;\r
68\r
69typedef struct {\r
70 UINT16 OpCode;\r
71 UINT8 Length;\r
72 UINT32 Width;\r
73 UINT32 Count;\r
74 UINT64 Address;\r
75} EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE;\r
76\r
77typedef struct {\r
78 UINT16 OpCode;\r
79 UINT8 Length;\r
80 UINT32 Width;\r
81 UINT32 Count;\r
82 UINT64 Address;\r
83 UINT16 Segment;\r
84} EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE;\r
85\r
86typedef struct {\r
87 UINT16 OpCode;\r
88 UINT8 Length;\r
89 UINT32 Width;\r
90 UINT64 Address;\r
91} EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE;\r
92\r
93typedef struct {\r
94 UINT16 OpCode;\r
95 UINT8 Length;\r
96 UINT32 Width;\r
97 UINT64 Address;\r
98 UINT16 Segment;\r
99} EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE;\r
100\r
101typedef struct {\r
102 UINT16 OpCode;\r
103 UINT8 Length;\r
104 UINT64 SmBusAddress;\r
105 UINT32 Operation;\r
106 UINT32 DataSize;\r
107} EFI_BOOT_SCRIPT_SMBUS_EXECUTE;\r
108\r
109typedef struct {\r
110 UINT16 OpCode;\r
111 UINT8 Length;\r
112 UINT64 Duration;\r
113} EFI_BOOT_SCRIPT_STALL;\r
114\r
115typedef struct {\r
116 UINT16 OpCode;\r
117 UINT8 Length;\r
118 EFI_PHYSICAL_ADDRESS EntryPoint;\r
119} EFI_BOOT_SCRIPT_DISPATCH;\r
120\r
121typedef struct {\r
122 UINT16 OpCode;\r
123 UINT8 Length;\r
124 EFI_PHYSICAL_ADDRESS EntryPoint;\r
125 EFI_PHYSICAL_ADDRESS Context;\r
126} EFI_BOOT_SCRIPT_DISPATCH_2;\r
127\r
128typedef struct {\r
129 UINT16 OpCode;\r
130 UINT8 Length;\r
131 UINT32 Width;\r
132 UINT64 Address;\r
133 UINT64 Duration;\r
134 UINT64 LoopTimes;\r
135} EFI_BOOT_SCRIPT_MEM_POLL;\r
136\r
137typedef struct {\r
138 UINT16 OpCode;\r
139 UINT8 Length;\r
93b21ade
SZ
140 UINT32 InformationLength;\r
141// UINT8 InformationData[InformationLength];\r
64d14edf 142} EFI_BOOT_SCRIPT_INFORMATION;\r
143\r
144typedef struct {\r
145 UINT16 OpCode;\r
146 UINT8 Length;\r
147 UINT32 Width;\r
148 UINT64 Address;\r
149 UINT64 Delay;\r
150} EFI_BOOT_SCRIPT_IO_POLL;\r
151\r
152typedef struct {\r
153 UINT16 OpCode;\r
154 UINT8 Length;\r
155 UINT32 Width;\r
156 UINT64 Address;\r
157 UINT64 Delay;\r
158} EFI_BOOT_SCRIPT_PCI_CONFIG_POLL;\r
159\r
160typedef struct {\r
161 UINT16 OpCode;\r
162 UINT8 Length;\r
163 UINT32 Width;\r
164 UINT64 Address;\r
3a03e95e 165 UINT16 Segment;\r
64d14edf 166 UINT64 Delay;\r
167} EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL;\r
168\r
169typedef struct {\r
170 UINT16 OpCode;\r
171 UINT8 Length;\r
172} EFI_BOOT_SCRIPT_TERMINATE;\r
173\r
174\r
175#pragma pack()\r
176\r
177#define BOOT_SCRIPT_NODE_MAX_LENGTH 1024\r
178\r
0a4a5b7b
SZ
179#define BOOT_SCRIPT_TABLE_VERSION 0x0001\r
180\r
64d14edf 181#endif\r