summaryrefslogtreecommitdiff
path: root/Core/EM/StatusCode/StatusCode.sdl
blob: 5ced21164afea6414bdb7ce8f132e5cfc7fc67ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
TOKEN
	Name  = "StatusCode_SUPPORT"
	Value  = "1"
	Help  = "Main switch to enable Status Code support in Project"
	TokenType = Boolean
	TargetEQU = Yes
	TargetMAK = Yes
	Master = Yes
End

TOKEN
	Name  = "STRING_STATUS_SUPPORT"
	Value  = "1"
	Help  = "Enables/Disables all string-based status code routines \defined by the ReportStringStatus eLink"
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "SERIAL_STATUS_SUPPORT"
	Value  = "1"
	Help  = "Enables/Disables serail port status code routine"
	TokenType = Boolean
	TargetH = Yes
	Token = "STRING_STATUS_SUPPORT" "=" "1"
	Token = "SIO_SUPPORT" "=" "1"
End

TOKEN
	Name  = "RUNTIME_TRACE_SUPPORT"
	Value  = "1"
	Help  = "Enables/Disables support of trace messages in Runtime"
	TokenType = Boolean
	TargetH = Yes
	Token = "DEBUG_MODE" "!=" "0"
End

TOKEN
	Name  = "DATAHUB_STATUS_SUPPORT"
	Value  = "1"
	Help  = "Enables/Disables logging of the status codes into a data hub"
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "CONOUT_CHECKPOINTS_SUPPORT"
	Value  = "1"
	Help  = "Enables/Disables checkpoint display on the ConOut devices\(right bottom corner)"
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "CON_OUT_CHECKPOINTS_IN_QUIET_MODE"
	Value  = "1"
	Help  = "Enables/Disables checkpoints display on the ConOut devices\in quiet mode (only in effect when CONOUT_CHECKPOINTS_SUPPORT is enabled)"
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "CHECKPOINT_PROGRESS_CODES_MAP"
	Value  = "ProgressCheckpointMap"
	Help  = "Name of the table that establishes mapping between progress codes and checkpoints.\Clone this token to support custom checkpoint lists."
	TokenType = Expression
	TargetH = Yes
End

TOKEN
	Name  = "CHECKPOINT_ERROR_CODES_MAP"
	Value  = "ErrorCheckpointMap"
	Help  = "Name of the table that establishes mapping between error codes and checkpoints.\Clone this token to support custom checkpoint lists."
	TokenType = Expression
	TargetH = Yes
End

TOKEN
	Name  = "BEEP_PROGRESS_CODES_MAP"
	Value  = "ProgressBeepMap"
	Help  = "Name of the table that establishes mapping between progress codes and number of beeps.\Clone this token to support custom beep codes."
	TokenType = Expression
	TargetH = Yes
End

TOKEN
	Name  = "BEEP_ERROR_CODES_MAP"
	Value  = "ErrorBeepMap"
	Help  = "Name of the table that establishes mapping between error codes and number of beeps.\Clone this token to support custom beep codes."
	TokenType = Expression
	TargetH = Yes
End

TOKEN
	Name  = "STATUS_CODE_VERSION"
	Value  = "16"
	Help  = "Version of the status code module."
	TokenType = Integer
	TargetMAK = Yes
	TargetH = Yes
	Lock = Yes
End

PATH
	Name  = "STATUS_CODE_DIR"
End

MODULE
	Help  = "Includes StatusCode.mak to Project"
	File  = "StatusCode.mak"
End

ELINK
	Name  = "StatusCodeInitialize"
	Help  = "This is a list of initialization routines for status code subcomponents. The routines are called during initialization of the StatusCode module\The child eLink can be in one of the following formats:\'InitFunctionName,' - The function will be called in PEI as well as in DXE\'PEI(InitFunctionName),' - The function will only be called in PEI\'DXE(InitFunctionName),' - The function will only be called in DXE\"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "ReportSimpleStatus"
	Help  = "This is a list of status code routines that consume only status code type and value. \The child eLink can be in one of the following formats:\'FunctionName,' - The function will be called in PEI as well as in DXE\'PEI(FunctionName),' - The function will only be called in PEI\'DXE(FunctionName),' - The function will only be called in DXE\"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "ReportMiscStatus"
	Help  = "This is a list of status code routines that consume all available status code data. \The child eLink can be in one of the following formats:\'FunctionName,' - The function will be called in PEI as well as in DXE\'PEI(FunctionName),' - The function will only be called in PEI\'DXE(FunctionName),' - The function will only be called in DXE\"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "CheckPointStatus,"
	Parent  = "ReportSimpleStatus"
	Help  = "This is a list of checkpoint routines. \The child eLink can be in one of the following formats:\'FunctionName,' - The function will be called in PEI as well as in DXE\'PEI(FunctionName),' - The function will only be called in PEI\'DXE(FunctionName),' - The function will only be called in DXE\"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "RUNTIME(CheckPointStatus),"
	Parent  = "ReportSimpleStatus"
	Help  = "This is a list of checkpoint routines. \The child eLink can be in one of the following formats:\'FunctionName,' - The function will be called in PEI as well as in DXE\'PEI(FunctionName),' - The function will only be called in PEI\'DXE(FunctionName),' - The function will only be called in DXE\"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "PeiInitStatusCode,"
	Parent  = "PeiCoreInitialize"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "BeepService,"
	Parent  = "ReportMiscStatus"
	Token = "BEEP_ENABLE" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "BeepStatus,"
	Parent  = "ReportSimpleStatus"
	Token = "BEEP_ENABLE" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "ReportStringStatus"
	Help  = "This is a list of status code routines that consume strings. \The child eLink can be in one of the following formats:\'FunctionName,' - The function will be called in PEI as well as in DXE\'PEI(FunctionName),' - The function will only be called in PEI\'DXE(FunctionName),' - The function will only be called in DXE\"
	Token = "STRING_STATUS_SUPPORT" "=" "1"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "ReportCheckpoint"
	Help  = "This is a list of checkpoint display routines. \The child eLink can be in one of the following formats:\'FunctionName,' - The function will be called in PEI as well as in DXE\'PEI(FunctionName),' - The function will only be called in PEI\'DXE(FunctionName),' - The function will only be called in DXE\"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "Port80Checkpoint,"
	Parent  = "ReportCheckpoint"
	Help  = "Port 0x80 checkpoints"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "RUNTIME(Port80Checkpoint),"
	Parent  = "ReportCheckpoint"
	Help  = "Port 0x80 checkpoints"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "DXE(DataHubStatusCode),"
	Parent  = "ReportMiscStatus"
	Help  = "DataHub status code routine (DXE only).\Logs prorgess and error status codes into data hub"
	Token = "DATAHUB_STATUS_SUPPORT" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "SerialOutput,"
	Parent  = "ReportStringStatus"
	Help  = "Serial port string status code"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "RUNTIME(SerialOutput),"
	Parent  = "ReportStringStatus"
	Help  = "Serial port string status code"
	Token = "SERIAL_STATUS_SUPPORT" "=" "1"
	Token = "RUNTIME_TRACE_SUPPORT" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "DXE(ConOutCheckpoint),"
	Parent  = "ReportCheckpoint"
	Help  = "ConOut Checkpoints (DXE only)"
	Token = "CONOUT_CHECKPOINTS_SUPPORT" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "SerialCheckpoint,"
	Parent  = "ReportCheckpoint"
	Help  = "Checkpoints over Serial Port"
	Token = "SERIAL_STATUS_SUPPORT" "=" "1"
	Disable = Yes
	InvokeOrder = AfterParent
End

ELINK
	Name  = "SerialStatusInit,"
	Parent  = "StatusCodeInitialize"
	Help  = "Serial port status code initialization routine"
	Token = "SERIAL_STATUS_SUPPORT" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "DXE(ConOutCpInit),"
	Parent  = "StatusCodeInitialize"
	Help  = "ConOut checkpoints initialization routine (DXE only)"
	Token = "CONOUT_CHECKPOINTS_SUPPORT" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "DXE(DataHubInit),"
	Parent  = "StatusCodeInitialize"
	Help  = "DataHub status code initialization routine (DXE only).\Logs prorgess and error status codes into data hub"
	Token = "DATAHUB_STATUS_SUPPORT" "=" "1"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "PeiErrorCodeActions"
	Help  = "List of actions to perform when error of a particular type is detected in PEI.\The child eLink has the following format: \ERROR_ACTION(Value,Action)\where\Value - error code value (error values are defined in AmiStatusCodes.h)\Action - error action. Function with the following interface:\VOID (ERROR_CODE_ACTION)(\    IN VOID *PeiServices, IN EFI_STATUS_CODE_VALUE Value\);\Custom or standard action can be used.\The following standard actions are defined:\Halt, ResetOrHalt, ResetOrResume\"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "DxeErrorCodeActions"
	Help  = "List of actions to perform when error of a particular type is detected in DXE.\The child eLink has the following format: \ERROR_ACTION(Value,Action)\where\Value - error code value (error values are defined in AmiStatusCodes.h)\Action - error action. Function with the following interface:\VOID (ERROR_CODE_ACTION)(\    IN VOID *PeiServices, IN EFI_STATUS_CODE_VALUE Value\);\Custom or standard action can be used.\The following standard actions are defined:\Halt, ResetOrHalt, ResetOrResume\"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "StatusCodeSmmEntry,"
	Parent  = "RuntimeSmmInitialize"
	InvokeOrder = BeforeParent
End

ELINK
	Name  = "DxeInitStatusCode,"
	Parent  = "DxeCoreInitialize"
	InvokeOrder = BeforeParent
End