VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptInternalFormat.h

Last change on this file was 99404, checked in by vboxsync, 2 years ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

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

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette