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