Print this page
acpica-unix2-20130823
PANKOVs restructure
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/intel/sys/acpi/acdispat.h
+++ new/usr/src/common/acpica/include/acdispat.h
1 1 /******************************************************************************
2 2 *
3 3 * Name: acdispat.h - dispatcher (parser to interpreter interface)
4 4 *
5 5 *****************************************************************************/
6 6
7 7 /*
8 - * Copyright (C) 2000 - 2011, Intel Corp.
8 + * Copyright (C) 2000 - 2013, Intel Corp.
9 9 * All rights reserved.
10 10 *
11 11 * Redistribution and use in source and binary forms, with or without
12 12 * modification, are permitted provided that the following conditions
13 13 * are met:
14 14 * 1. Redistributions of source code must retain the above copyright
15 15 * notice, this list of conditions, and the following disclaimer,
16 16 * without modification.
17 17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 18 * substantially similar to the "NO WARRANTY" disclaimer below
19 19 * ("Disclaimer") and any redistribution must be conditioned upon
20 20 * including a substantially similar Disclaimer requirement for further
21 21 * binary redistribution.
22 22 * 3. Neither the names of the above-listed copyright holders nor the names
23 23 * of any contributors may be used to endorse or promote products derived
24 24 * from this software without specific prior written permission.
25 25 *
26 26 * Alternatively, this software may be distributed under the terms of the
27 27 * GNU General Public License ("GPL") version 2 as published by the Free
28 28 * Software Foundation.
29 29 *
30 30 * NO WARRANTY
31 31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 41 * POSSIBILITY OF SUCH DAMAGES.
42 42 */
43 43
44 44
45 45 #ifndef _ACDISPAT_H_
46 46 #define _ACDISPAT_H_
47 47
48 48
49 49 #define NAMEOF_LOCAL_NTE "__L0"
50 50 #define NAMEOF_ARG_NTE "__A0"
51 51
52 52
53 53 /*
54 54 * dsargs - execution of dynamic arguments for static objects
55 55 */
56 56 ACPI_STATUS
57 57 AcpiDsGetBufferFieldArguments (
58 58 ACPI_OPERAND_OBJECT *ObjDesc);
59 59
60 60 ACPI_STATUS
61 61 AcpiDsGetBankFieldArguments (
62 62 ACPI_OPERAND_OBJECT *ObjDesc);
63 63
64 64 ACPI_STATUS
65 65 AcpiDsGetRegionArguments (
66 66 ACPI_OPERAND_OBJECT *RgnDesc);
67 67
68 68 ACPI_STATUS
69 69 AcpiDsGetBufferArguments (
70 70 ACPI_OPERAND_OBJECT *ObjDesc);
71 71
72 72 ACPI_STATUS
73 73 AcpiDsGetPackageArguments (
74 74 ACPI_OPERAND_OBJECT *ObjDesc);
75 75
76 76
77 77 /*
78 78 * dscontrol - support for execution control opcodes
79 79 */
80 80 ACPI_STATUS
81 81 AcpiDsExecBeginControlOp (
82 82 ACPI_WALK_STATE *WalkState,
83 83 ACPI_PARSE_OBJECT *Op);
84 84
85 85 ACPI_STATUS
86 86 AcpiDsExecEndControlOp (
87 87 ACPI_WALK_STATE *WalkState,
88 88 ACPI_PARSE_OBJECT *Op);
89 89
90 90
91 91 /*
92 92 * dsopcode - support for late operand evaluation
93 93 */
94 94 ACPI_STATUS
95 95 AcpiDsEvalBufferFieldOperands (
96 96 ACPI_WALK_STATE *WalkState,
97 97 ACPI_PARSE_OBJECT *Op);
98 98
99 99 ACPI_STATUS
100 100 AcpiDsEvalRegionOperands (
101 101 ACPI_WALK_STATE *WalkState,
102 102 ACPI_PARSE_OBJECT *Op);
103 103
104 104 ACPI_STATUS
105 105 AcpiDsEvalTableRegionOperands (
106 106 ACPI_WALK_STATE *WalkState,
107 107 ACPI_PARSE_OBJECT *Op);
108 108
109 109 ACPI_STATUS
110 110 AcpiDsEvalDataObjectOperands (
111 111 ACPI_WALK_STATE *WalkState,
112 112 ACPI_PARSE_OBJECT *Op,
113 113 ACPI_OPERAND_OBJECT *ObjDesc);
114 114
115 115 ACPI_STATUS
116 116 AcpiDsEvalBankFieldOperands (
117 117 ACPI_WALK_STATE *WalkState,
118 118 ACPI_PARSE_OBJECT *Op);
119 119
120 120 ACPI_STATUS
121 121 AcpiDsInitializeRegion (
122 122 ACPI_HANDLE ObjHandle);
123 123
124 124
125 125 /*
126 126 * dsexec - Parser/Interpreter interface, method execution callbacks
127 127 */
128 128 ACPI_STATUS
129 129 AcpiDsGetPredicateValue (
130 130 ACPI_WALK_STATE *WalkState,
131 131 ACPI_OPERAND_OBJECT *ResultObj);
132 132
133 133 ACPI_STATUS
134 134 AcpiDsExecBeginOp (
135 135 ACPI_WALK_STATE *WalkState,
136 136 ACPI_PARSE_OBJECT **OutOp);
137 137
138 138 ACPI_STATUS
139 139 AcpiDsExecEndOp (
140 140 ACPI_WALK_STATE *State);
141 141
142 142
143 143 /*
144 144 * dsfield - Parser/Interpreter interface for AML fields
145 145 */
146 146 ACPI_STATUS
147 147 AcpiDsCreateField (
148 148 ACPI_PARSE_OBJECT *Op,
149 149 ACPI_NAMESPACE_NODE *RegionNode,
150 150 ACPI_WALK_STATE *WalkState);
151 151
152 152 ACPI_STATUS
153 153 AcpiDsCreateBankField (
154 154 ACPI_PARSE_OBJECT *Op,
155 155 ACPI_NAMESPACE_NODE *RegionNode,
156 156 ACPI_WALK_STATE *WalkState);
157 157
158 158 ACPI_STATUS
159 159 AcpiDsCreateIndexField (
160 160 ACPI_PARSE_OBJECT *Op,
161 161 ACPI_NAMESPACE_NODE *RegionNode,
162 162 ACPI_WALK_STATE *WalkState);
163 163
164 164 ACPI_STATUS
165 165 AcpiDsCreateBufferField (
166 166 ACPI_PARSE_OBJECT *Op,
167 167 ACPI_WALK_STATE *WalkState);
168 168
169 169 ACPI_STATUS
170 170 AcpiDsInitFieldObjects (
171 171 ACPI_PARSE_OBJECT *Op,
172 172 ACPI_WALK_STATE *WalkState);
173 173
174 174
175 175 /*
176 176 * dsload - Parser/Interpreter interface, pass 1 namespace load callbacks
177 177 */
178 178 ACPI_STATUS
179 179 AcpiDsInitCallbacks (
180 180 ACPI_WALK_STATE *WalkState,
181 181 UINT32 PassNumber);
182 182
183 183 ACPI_STATUS
184 184 AcpiDsLoad1BeginOp (
185 185 ACPI_WALK_STATE *WalkState,
186 186 ACPI_PARSE_OBJECT **OutOp);
187 187
188 188 ACPI_STATUS
189 189 AcpiDsLoad1EndOp (
190 190 ACPI_WALK_STATE *WalkState);
191 191
192 192
193 193 /*
194 194 * dsload - Parser/Interpreter interface, pass 2 namespace load callbacks
195 195 */
196 196 ACPI_STATUS
197 197 AcpiDsLoad2BeginOp (
198 198 ACPI_WALK_STATE *WalkState,
199 199 ACPI_PARSE_OBJECT **OutOp);
200 200
201 201 ACPI_STATUS
202 202 AcpiDsLoad2EndOp (
203 203 ACPI_WALK_STATE *WalkState);
204 204
205 205
206 206 /*
207 207 * dsmthdat - method data (locals/args)
208 208 */
209 209 ACPI_STATUS
210 210 AcpiDsStoreObjectToLocal (
211 211 UINT8 Type,
212 212 UINT32 Index,
213 213 ACPI_OPERAND_OBJECT *SrcDesc,
214 214 ACPI_WALK_STATE *WalkState);
215 215
216 216 ACPI_STATUS
217 217 AcpiDsMethodDataGetEntry (
218 218 UINT16 Opcode,
219 219 UINT32 Index,
220 220 ACPI_WALK_STATE *WalkState,
221 221 ACPI_OPERAND_OBJECT ***Node);
222 222
223 223 void
224 224 AcpiDsMethodDataDeleteAll (
225 225 ACPI_WALK_STATE *WalkState);
226 226
227 227 BOOLEAN
228 228 AcpiDsIsMethodValue (
229 229 ACPI_OPERAND_OBJECT *ObjDesc);
230 230
231 231 ACPI_STATUS
232 232 AcpiDsMethodDataGetValue (
233 233 UINT8 Type,
234 234 UINT32 Index,
235 235 ACPI_WALK_STATE *WalkState,
236 236 ACPI_OPERAND_OBJECT **DestDesc);
237 237
238 238 ACPI_STATUS
239 239 AcpiDsMethodDataInitArgs (
240 240 ACPI_OPERAND_OBJECT **Params,
241 241 UINT32 MaxParamCount,
242 242 ACPI_WALK_STATE *WalkState);
243 243
244 244 ACPI_STATUS
245 245 AcpiDsMethodDataGetNode (
246 246 UINT8 Type,
247 247 UINT32 Index,
248 248 ACPI_WALK_STATE *WalkState,
249 249 ACPI_NAMESPACE_NODE **Node);
250 250
251 251 void
252 252 AcpiDsMethodDataInit (
253 253 ACPI_WALK_STATE *WalkState);
254 254
255 255
256 256 /*
257 257 * dsmethod - Parser/Interpreter interface - control method parsing
258 258 */
259 259 ACPI_STATUS
260 260 AcpiDsParseMethod (
261 261 ACPI_NAMESPACE_NODE *Node);
262 262
263 263 ACPI_STATUS
264 264 AcpiDsCallControlMethod (
265 265 ACPI_THREAD_STATE *Thread,
266 266 ACPI_WALK_STATE *WalkState,
267 267 ACPI_PARSE_OBJECT *Op);
268 268
269 269 ACPI_STATUS
270 270 AcpiDsRestartControlMethod (
271 271 ACPI_WALK_STATE *WalkState,
272 272 ACPI_OPERAND_OBJECT *ReturnDesc);
273 273
274 274 void
275 275 AcpiDsTerminateControlMethod (
276 276 ACPI_OPERAND_OBJECT *MethodDesc,
277 277 ACPI_WALK_STATE *WalkState);
278 278
279 279 ACPI_STATUS
280 280 AcpiDsBeginMethodExecution (
281 281 ACPI_NAMESPACE_NODE *MethodNode,
282 282 ACPI_OPERAND_OBJECT *ObjDesc,
283 283 ACPI_WALK_STATE *WalkState);
284 284
285 285 ACPI_STATUS
286 286 AcpiDsMethodError (
287 287 ACPI_STATUS Status,
288 288 ACPI_WALK_STATE *WalkState);
289 289
290 290 /*
291 291 * dsinit
292 292 */
293 293 ACPI_STATUS
294 294 AcpiDsInitializeObjects (
295 295 UINT32 TableIndex,
296 296 ACPI_NAMESPACE_NODE *StartNode);
297 297
298 298
299 299 /*
300 300 * dsobject - Parser/Interpreter interface - object initialization and conversion
301 301 */
302 302 ACPI_STATUS
303 303 AcpiDsBuildInternalBufferObj (
304 304 ACPI_WALK_STATE *WalkState,
305 305 ACPI_PARSE_OBJECT *Op,
306 306 UINT32 BufferLength,
307 307 ACPI_OPERAND_OBJECT **ObjDescPtr);
308 308
309 309 ACPI_STATUS
310 310 AcpiDsBuildInternalPackageObj (
311 311 ACPI_WALK_STATE *WalkState,
312 312 ACPI_PARSE_OBJECT *op,
313 313 UINT32 PackageLength,
314 314 ACPI_OPERAND_OBJECT **ObjDesc);
315 315
316 316 ACPI_STATUS
317 317 AcpiDsInitObjectFromOp (
318 318 ACPI_WALK_STATE *WalkState,
319 319 ACPI_PARSE_OBJECT *Op,
320 320 UINT16 Opcode,
321 321 ACPI_OPERAND_OBJECT **ObjDesc);
322 322
323 323 ACPI_STATUS
324 324 AcpiDsCreateNode (
325 325 ACPI_WALK_STATE *WalkState,
326 326 ACPI_NAMESPACE_NODE *Node,
327 327 ACPI_PARSE_OBJECT *Op);
328 328
329 329
330 330 /*
331 331 * dsutils - Parser/Interpreter interface utility routines
332 332 */
333 333 void
334 334 AcpiDsClearImplicitReturn (
335 335 ACPI_WALK_STATE *WalkState);
336 336
337 337 BOOLEAN
338 338 AcpiDsDoImplicitReturn (
339 339 ACPI_OPERAND_OBJECT *ReturnDesc,
340 340 ACPI_WALK_STATE *WalkState,
341 341 BOOLEAN AddReference);
342 342
343 343 BOOLEAN
344 344 AcpiDsIsResultUsed (
345 345 ACPI_PARSE_OBJECT *Op,
346 346 ACPI_WALK_STATE *WalkState);
347 347
348 348 void
349 349 AcpiDsDeleteResultIfNotUsed (
350 350 ACPI_PARSE_OBJECT *Op,
351 351 ACPI_OPERAND_OBJECT *ResultObj,
352 352 ACPI_WALK_STATE *WalkState);
353 353
354 354 ACPI_STATUS
355 355 AcpiDsCreateOperand (
356 356 ACPI_WALK_STATE *WalkState,
357 357 ACPI_PARSE_OBJECT *Arg,
358 358 UINT32 ArgsRemaining);
359 359
360 360 ACPI_STATUS
361 361 AcpiDsCreateOperands (
362 362 ACPI_WALK_STATE *WalkState,
363 363 ACPI_PARSE_OBJECT *FirstArg);
364 364
365 365 ACPI_STATUS
366 366 AcpiDsResolveOperands (
367 367 ACPI_WALK_STATE *WalkState);
368 368
369 369 void
370 370 AcpiDsClearOperands (
371 371 ACPI_WALK_STATE *WalkState);
372 372
373 373 ACPI_STATUS
374 374 AcpiDsEvaluateNamePath (
375 375 ACPI_WALK_STATE *WalkState);
376 376
377 377
378 378 /*
379 379 * dswscope - Scope Stack manipulation
380 380 */
381 381 ACPI_STATUS
382 382 AcpiDsScopeStackPush (
383 383 ACPI_NAMESPACE_NODE *Node,
384 384 ACPI_OBJECT_TYPE Type,
385 385 ACPI_WALK_STATE *WalkState);
386 386
387 387
388 388 ACPI_STATUS
389 389 AcpiDsScopeStackPop (
390 390 ACPI_WALK_STATE *WalkState);
391 391
392 392 void
393 393 AcpiDsScopeStackClear (
394 394 ACPI_WALK_STATE *WalkState);
395 395
396 396
397 397 /*
398 398 * dswstate - parser WALK_STATE management routines
399 399 */
400 400 ACPI_STATUS
401 401 AcpiDsObjStackPush (
402 402 void *Object,
403 403 ACPI_WALK_STATE *WalkState);
404 404
405 405 ACPI_STATUS
406 406 AcpiDsObjStackPop (
407 407 UINT32 PopCount,
408 408 ACPI_WALK_STATE *WalkState);
409 409
410 410 ACPI_WALK_STATE *
411 411 AcpiDsCreateWalkState (
412 412 ACPI_OWNER_ID OwnerId,
413 413 ACPI_PARSE_OBJECT *Origin,
414 414 ACPI_OPERAND_OBJECT *MthDesc,
415 415 ACPI_THREAD_STATE *Thread);
416 416
417 417 ACPI_STATUS
418 418 AcpiDsInitAmlWalk (
419 419 ACPI_WALK_STATE *WalkState,
420 420 ACPI_PARSE_OBJECT *Op,
421 421 ACPI_NAMESPACE_NODE *MethodNode,
422 422 UINT8 *AmlStart,
423 423 UINT32 AmlLength,
424 424 ACPI_EVALUATE_INFO *Info,
425 425 UINT8 PassNumber);
426 426
427 427 void
428 428 AcpiDsObjStackPopAndDelete (
429 429 UINT32 PopCount,
430 430 ACPI_WALK_STATE *WalkState);
431 431
432 432 void
433 433 AcpiDsDeleteWalkState (
434 434 ACPI_WALK_STATE *WalkState);
435 435
436 436 ACPI_WALK_STATE *
437 437 AcpiDsPopWalkState (
438 438 ACPI_THREAD_STATE *Thread);
439 439
440 440 void
441 441 AcpiDsPushWalkState (
442 442 ACPI_WALK_STATE *WalkState,
443 443 ACPI_THREAD_STATE *Thread);
444 444
445 445 ACPI_STATUS
446 446 AcpiDsResultStackClear (
447 447 ACPI_WALK_STATE *WalkState);
448 448
449 449 ACPI_WALK_STATE *
450 450 AcpiDsGetCurrentWalkState (
451 451 ACPI_THREAD_STATE *Thread);
452 452
453 453 ACPI_STATUS
454 454 AcpiDsResultPop (
455 455 ACPI_OPERAND_OBJECT **Object,
456 456 ACPI_WALK_STATE *WalkState);
457 457
458 458 ACPI_STATUS
459 459 AcpiDsResultPush (
460 460 ACPI_OPERAND_OBJECT *Object,
461 461 ACPI_WALK_STATE *WalkState);
462 462
463 463 #endif /* _ACDISPAT_H_ */
↓ open down ↓ |
445 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX