1 | /****************************************************************************** |
2 | * |
3 | * Name: acinterp.h - Interpreter subcomponent prototypes and defines |
4 | * |
5 | *****************************************************************************/ |
6 | |
7 | /* |
8 | * Copyright (C) 2000 - 2016, Intel Corp. |
9 | * All rights reserved. |
10 | * |
11 | * Redistribution and use in source and binary forms, with or without |
12 | * modification, are permitted provided that the following conditions |
13 | * are met: |
14 | * 1. Redistributions of source code must retain the above copyright |
15 | * notice, this list of conditions, and the following disclaimer, |
16 | * without modification. |
17 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer |
18 | * substantially similar to the "NO WARRANTY" disclaimer below |
19 | * ("Disclaimer") and any redistribution must be conditioned upon |
20 | * including a substantially similar Disclaimer requirement for further |
21 | * binary redistribution. |
22 | * 3. Neither the names of the above-listed copyright holders nor the names |
23 | * of any contributors may be used to endorse or promote products derived |
24 | * from this software without specific prior written permission. |
25 | * |
26 | * Alternatively, this software may be distributed under the terms of the |
27 | * GNU General Public License ("GPL") version 2 as published by the Free |
28 | * Software Foundation. |
29 | * |
30 | * NO WARRANTY |
31 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
32 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
33 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR |
34 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
35 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
36 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
37 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
38 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
39 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
40 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
41 | * POSSIBILITY OF SUCH DAMAGES. |
42 | */ |
43 | |
44 | #ifndef __ACINTERP_H__ |
45 | #define __ACINTERP_H__ |
46 | |
47 | |
48 | #define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) |
49 | |
50 | /* Macros for tables used for debug output */ |
51 | |
52 | #define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f) |
53 | #define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f) |
54 | #define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO)) |
55 | |
56 | /* |
57 | * If possible, pack the following structures to byte alignment, since we |
58 | * don't care about performance for debug output. Two cases where we cannot |
59 | * pack the structures: |
60 | * |
61 | * 1) Hardware does not support misaligned memory transfers |
62 | * 2) Compiler does not support pointers within packed structures |
63 | */ |
64 | #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) |
65 | #pragma pack(1) |
66 | #endif |
67 | |
68 | typedef const struct acpi_exdump_info |
69 | { |
70 | UINT8 Opcode; |
71 | UINT8 Offset; |
72 | const char *Name; |
73 | |
74 | } ACPI_EXDUMP_INFO; |
75 | |
76 | /* Values for the Opcode field above */ |
77 | |
78 | #define ACPI_EXD_INIT 0 |
79 | #define ACPI_EXD_TYPE 1 |
80 | #define ACPI_EXD_UINT8 2 |
81 | #define ACPI_EXD_UINT16 3 |
82 | #define ACPI_EXD_UINT32 4 |
83 | #define ACPI_EXD_UINT64 5 |
84 | #define ACPI_EXD_LITERAL 6 |
85 | #define ACPI_EXD_POINTER 7 |
86 | #define ACPI_EXD_ADDRESS 8 |
87 | #define ACPI_EXD_STRING 9 |
88 | #define ACPI_EXD_BUFFER 10 |
89 | #define ACPI_EXD_PACKAGE 11 |
90 | #define ACPI_EXD_FIELD 12 |
91 | #define ACPI_EXD_REFERENCE 13 |
92 | #define ACPI_EXD_LIST 14 /* Operand object list */ |
93 | #define ACPI_EXD_HDLR_LIST 15 /* Address Handler list */ |
94 | #define ACPI_EXD_RGN_LIST 16 /* Region list */ |
95 | #define ACPI_EXD_NODE 17 /* Namespace Node */ |
96 | |
97 | /* restore default alignment */ |
98 | |
99 | #pragma pack() |
100 | |
101 | |
102 | /* |
103 | * exconvrt - object conversion |
104 | */ |
105 | ACPI_STATUS |
106 | AcpiExConvertToInteger ( |
107 | ACPI_OPERAND_OBJECT *ObjDesc, |
108 | ACPI_OPERAND_OBJECT **ResultDesc, |
109 | UINT32 Flags); |
110 | |
111 | ACPI_STATUS |
112 | AcpiExConvertToBuffer ( |
113 | ACPI_OPERAND_OBJECT *ObjDesc, |
114 | ACPI_OPERAND_OBJECT **ResultDesc); |
115 | |
116 | ACPI_STATUS |
117 | AcpiExConvertToString ( |
118 | ACPI_OPERAND_OBJECT *ObjDesc, |
119 | ACPI_OPERAND_OBJECT **ResultDesc, |
120 | UINT32 Type); |
121 | |
122 | /* Types for ->String conversion */ |
123 | |
124 | #define ACPI_EXPLICIT_BYTE_COPY 0x00000000 |
125 | #define ACPI_EXPLICIT_CONVERT_HEX 0x00000001 |
126 | #define ACPI_IMPLICIT_CONVERT_HEX 0x00000002 |
127 | #define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003 |
128 | |
129 | ACPI_STATUS |
130 | AcpiExConvertToTargetType ( |
131 | ACPI_OBJECT_TYPE DestinationType, |
132 | ACPI_OPERAND_OBJECT *SourceDesc, |
133 | ACPI_OPERAND_OBJECT **ResultDesc, |
134 | ACPI_WALK_STATE *WalkState); |
135 | |
136 | |
137 | /* |
138 | * exdebug - AML debug object |
139 | */ |
140 | void |
141 | AcpiExDoDebugObject ( |
142 | ACPI_OPERAND_OBJECT *SourceDesc, |
143 | UINT32 Level, |
144 | UINT32 Index); |
145 | |
146 | void |
147 | AcpiExStartTraceMethod ( |
148 | ACPI_NAMESPACE_NODE *MethodNode, |
149 | ACPI_OPERAND_OBJECT *ObjDesc, |
150 | ACPI_WALK_STATE *WalkState); |
151 | |
152 | void |
153 | AcpiExStopTraceMethod ( |
154 | ACPI_NAMESPACE_NODE *MethodNode, |
155 | ACPI_OPERAND_OBJECT *ObjDesc, |
156 | ACPI_WALK_STATE *WalkState); |
157 | |
158 | void |
159 | AcpiExStartTraceOpcode ( |
160 | ACPI_PARSE_OBJECT *Op, |
161 | ACPI_WALK_STATE *WalkState); |
162 | |
163 | void |
164 | AcpiExStopTraceOpcode ( |
165 | ACPI_PARSE_OBJECT *Op, |
166 | ACPI_WALK_STATE *WalkState); |
167 | |
168 | void |
169 | ( |
170 | ACPI_TRACE_EVENT_TYPE Type, |
171 | BOOLEAN Begin, |
172 | UINT8 *Aml, |
173 | char *Pathname); |
174 | |
175 | |
176 | /* |
177 | * exfield - ACPI AML (p-code) execution - field manipulation |
178 | */ |
179 | ACPI_STATUS |
180 | AcpiExCommonBufferSetup ( |
181 | ACPI_OPERAND_OBJECT *ObjDesc, |
182 | UINT32 BufferLength, |
183 | UINT32 *DatumCount); |
184 | |
185 | ACPI_STATUS |
186 | AcpiExWriteWithUpdateRule ( |
187 | ACPI_OPERAND_OBJECT *ObjDesc, |
188 | UINT64 Mask, |
189 | UINT64 FieldValue, |
190 | UINT32 FieldDatumByteOffset); |
191 | |
192 | void |
193 | AcpiExGetBufferDatum( |
194 | UINT64 *Datum, |
195 | void *Buffer, |
196 | UINT32 BufferLength, |
197 | UINT32 ByteGranularity, |
198 | UINT32 BufferOffset); |
199 | |
200 | void |
201 | AcpiExSetBufferDatum ( |
202 | UINT64 MergedDatum, |
203 | void *Buffer, |
204 | UINT32 BufferLength, |
205 | UINT32 ByteGranularity, |
206 | UINT32 BufferOffset); |
207 | |
208 | ACPI_STATUS |
209 | AcpiExReadDataFromField ( |
210 | ACPI_WALK_STATE *WalkState, |
211 | ACPI_OPERAND_OBJECT *ObjDesc, |
212 | ACPI_OPERAND_OBJECT **RetBufferDesc); |
213 | |
214 | ACPI_STATUS |
215 | AcpiExWriteDataToField ( |
216 | ACPI_OPERAND_OBJECT *SourceDesc, |
217 | ACPI_OPERAND_OBJECT *ObjDesc, |
218 | ACPI_OPERAND_OBJECT **ResultDesc); |
219 | |
220 | |
221 | /* |
222 | * exfldio - low level field I/O |
223 | */ |
224 | ACPI_STATUS |
225 | ( |
226 | ACPI_OPERAND_OBJECT *ObjDesc, |
227 | void *Buffer, |
228 | UINT32 BufferLength); |
229 | |
230 | ACPI_STATUS |
231 | AcpiExInsertIntoField ( |
232 | ACPI_OPERAND_OBJECT *ObjDesc, |
233 | void *Buffer, |
234 | UINT32 BufferLength); |
235 | |
236 | ACPI_STATUS |
237 | AcpiExAccessRegion ( |
238 | ACPI_OPERAND_OBJECT *ObjDesc, |
239 | UINT32 FieldDatumByteOffset, |
240 | UINT64 *Value, |
241 | UINT32 ReadWrite); |
242 | |
243 | |
244 | /* |
245 | * exmisc - misc support routines |
246 | */ |
247 | ACPI_STATUS |
248 | AcpiExGetObjectReference ( |
249 | ACPI_OPERAND_OBJECT *ObjDesc, |
250 | ACPI_OPERAND_OBJECT **ReturnDesc, |
251 | ACPI_WALK_STATE *WalkState); |
252 | |
253 | ACPI_STATUS |
254 | AcpiExConcatTemplate ( |
255 | ACPI_OPERAND_OBJECT *ObjDesc, |
256 | ACPI_OPERAND_OBJECT *ObjDesc2, |
257 | ACPI_OPERAND_OBJECT **ActualReturnDesc, |
258 | ACPI_WALK_STATE *WalkState); |
259 | |
260 | ACPI_STATUS |
261 | AcpiExDoConcatenate ( |
262 | ACPI_OPERAND_OBJECT *ObjDesc, |
263 | ACPI_OPERAND_OBJECT *ObjDesc2, |
264 | ACPI_OPERAND_OBJECT **ActualReturnDesc, |
265 | ACPI_WALK_STATE *WalkState); |
266 | |
267 | ACPI_STATUS |
268 | AcpiExDoLogicalNumericOp ( |
269 | UINT16 Opcode, |
270 | UINT64 Integer0, |
271 | UINT64 Integer1, |
272 | BOOLEAN *LogicalResult); |
273 | |
274 | ACPI_STATUS |
275 | AcpiExDoLogicalOp ( |
276 | UINT16 Opcode, |
277 | ACPI_OPERAND_OBJECT *Operand0, |
278 | ACPI_OPERAND_OBJECT *Operand1, |
279 | BOOLEAN *LogicalResult); |
280 | |
281 | UINT64 |
282 | AcpiExDoMathOp ( |
283 | UINT16 Opcode, |
284 | UINT64 Operand0, |
285 | UINT64 Operand1); |
286 | |
287 | ACPI_STATUS |
288 | AcpiExCreateMutex ( |
289 | ACPI_WALK_STATE *WalkState); |
290 | |
291 | ACPI_STATUS |
292 | AcpiExCreateProcessor ( |
293 | ACPI_WALK_STATE *WalkState); |
294 | |
295 | ACPI_STATUS |
296 | AcpiExCreatePowerResource ( |
297 | ACPI_WALK_STATE *WalkState); |
298 | |
299 | ACPI_STATUS |
300 | AcpiExCreateRegion ( |
301 | UINT8 *AmlStart, |
302 | UINT32 AmlLength, |
303 | UINT8 RegionSpace, |
304 | ACPI_WALK_STATE *WalkState); |
305 | |
306 | ACPI_STATUS |
307 | AcpiExCreateEvent ( |
308 | ACPI_WALK_STATE *WalkState); |
309 | |
310 | ACPI_STATUS |
311 | AcpiExCreateAlias ( |
312 | ACPI_WALK_STATE *WalkState); |
313 | |
314 | ACPI_STATUS |
315 | AcpiExCreateMethod ( |
316 | UINT8 *AmlStart, |
317 | UINT32 AmlLength, |
318 | ACPI_WALK_STATE *WalkState); |
319 | |
320 | |
321 | /* |
322 | * exconfig - dynamic table load/unload |
323 | */ |
324 | ACPI_STATUS |
325 | AcpiExLoadOp ( |
326 | ACPI_OPERAND_OBJECT *ObjDesc, |
327 | ACPI_OPERAND_OBJECT *Target, |
328 | ACPI_WALK_STATE *WalkState); |
329 | |
330 | ACPI_STATUS |
331 | AcpiExLoadTableOp ( |
332 | ACPI_WALK_STATE *WalkState, |
333 | ACPI_OPERAND_OBJECT **ReturnDesc); |
334 | |
335 | ACPI_STATUS |
336 | AcpiExUnloadTable ( |
337 | ACPI_OPERAND_OBJECT *DdbHandle); |
338 | |
339 | |
340 | /* |
341 | * exmutex - mutex support |
342 | */ |
343 | ACPI_STATUS |
344 | AcpiExAcquireMutex ( |
345 | ACPI_OPERAND_OBJECT *TimeDesc, |
346 | ACPI_OPERAND_OBJECT *ObjDesc, |
347 | ACPI_WALK_STATE *WalkState); |
348 | |
349 | ACPI_STATUS |
350 | AcpiExAcquireMutexObject ( |
351 | UINT16 Timeout, |
352 | ACPI_OPERAND_OBJECT *ObjDesc, |
353 | ACPI_THREAD_ID ThreadId); |
354 | |
355 | ACPI_STATUS |
356 | AcpiExReleaseMutex ( |
357 | ACPI_OPERAND_OBJECT *ObjDesc, |
358 | ACPI_WALK_STATE *WalkState); |
359 | |
360 | ACPI_STATUS |
361 | AcpiExReleaseMutexObject ( |
362 | ACPI_OPERAND_OBJECT *ObjDesc); |
363 | |
364 | void |
365 | AcpiExReleaseAllMutexes ( |
366 | ACPI_THREAD_STATE *Thread); |
367 | |
368 | void |
369 | AcpiExUnlinkMutex ( |
370 | ACPI_OPERAND_OBJECT *ObjDesc); |
371 | |
372 | |
373 | /* |
374 | * exprep - ACPI AML execution - prep utilities |
375 | */ |
376 | ACPI_STATUS |
377 | AcpiExPrepCommonFieldObject ( |
378 | ACPI_OPERAND_OBJECT *ObjDesc, |
379 | UINT8 FieldFlags, |
380 | UINT8 FieldAttribute, |
381 | UINT32 FieldBitPosition, |
382 | UINT32 FieldBitLength); |
383 | |
384 | ACPI_STATUS |
385 | AcpiExPrepFieldValue ( |
386 | ACPI_CREATE_FIELD_INFO *Info); |
387 | |
388 | |
389 | /* |
390 | * exsystem - Interface to OS services |
391 | */ |
392 | ACPI_STATUS |
393 | AcpiExSystemDoNotifyOp ( |
394 | ACPI_OPERAND_OBJECT *Value, |
395 | ACPI_OPERAND_OBJECT *ObjDesc); |
396 | |
397 | ACPI_STATUS |
398 | AcpiExSystemDoSleep( |
399 | UINT64 Time); |
400 | |
401 | ACPI_STATUS |
402 | AcpiExSystemDoStall ( |
403 | UINT32 Time); |
404 | |
405 | ACPI_STATUS |
406 | AcpiExSystemSignalEvent( |
407 | ACPI_OPERAND_OBJECT *ObjDesc); |
408 | |
409 | ACPI_STATUS |
410 | AcpiExSystemWaitEvent( |
411 | ACPI_OPERAND_OBJECT *Time, |
412 | ACPI_OPERAND_OBJECT *ObjDesc); |
413 | |
414 | ACPI_STATUS |
415 | AcpiExSystemResetEvent( |
416 | ACPI_OPERAND_OBJECT *ObjDesc); |
417 | |
418 | ACPI_STATUS |
419 | AcpiExSystemWaitSemaphore ( |
420 | ACPI_SEMAPHORE Semaphore, |
421 | UINT16 Timeout); |
422 | |
423 | ACPI_STATUS |
424 | AcpiExSystemWaitMutex ( |
425 | ACPI_MUTEX Mutex, |
426 | UINT16 Timeout); |
427 | |
428 | /* |
429 | * exoparg1 - ACPI AML execution, 1 operand |
430 | */ |
431 | ACPI_STATUS |
432 | AcpiExOpcode_0A_0T_1R ( |
433 | ACPI_WALK_STATE *WalkState); |
434 | |
435 | ACPI_STATUS |
436 | AcpiExOpcode_1A_0T_0R ( |
437 | ACPI_WALK_STATE *WalkState); |
438 | |
439 | ACPI_STATUS |
440 | AcpiExOpcode_1A_0T_1R ( |
441 | ACPI_WALK_STATE *WalkState); |
442 | |
443 | ACPI_STATUS |
444 | AcpiExOpcode_1A_1T_1R ( |
445 | ACPI_WALK_STATE *WalkState); |
446 | |
447 | ACPI_STATUS |
448 | AcpiExOpcode_1A_1T_0R ( |
449 | ACPI_WALK_STATE *WalkState); |
450 | |
451 | /* |
452 | * exoparg2 - ACPI AML execution, 2 operands |
453 | */ |
454 | ACPI_STATUS |
455 | AcpiExOpcode_2A_0T_0R ( |
456 | ACPI_WALK_STATE *WalkState); |
457 | |
458 | ACPI_STATUS |
459 | AcpiExOpcode_2A_0T_1R ( |
460 | ACPI_WALK_STATE *WalkState); |
461 | |
462 | ACPI_STATUS |
463 | AcpiExOpcode_2A_1T_1R ( |
464 | ACPI_WALK_STATE *WalkState); |
465 | |
466 | ACPI_STATUS |
467 | AcpiExOpcode_2A_2T_1R ( |
468 | ACPI_WALK_STATE *WalkState); |
469 | |
470 | |
471 | /* |
472 | * exoparg3 - ACPI AML execution, 3 operands |
473 | */ |
474 | ACPI_STATUS |
475 | AcpiExOpcode_3A_0T_0R ( |
476 | ACPI_WALK_STATE *WalkState); |
477 | |
478 | ACPI_STATUS |
479 | AcpiExOpcode_3A_1T_1R ( |
480 | ACPI_WALK_STATE *WalkState); |
481 | |
482 | |
483 | /* |
484 | * exoparg6 - ACPI AML execution, 6 operands |
485 | */ |
486 | ACPI_STATUS |
487 | AcpiExOpcode_6A_0T_1R ( |
488 | ACPI_WALK_STATE *WalkState); |
489 | |
490 | |
491 | /* |
492 | * exresolv - Object resolution and get value functions |
493 | */ |
494 | ACPI_STATUS |
495 | AcpiExResolveToValue ( |
496 | ACPI_OPERAND_OBJECT **StackPtr, |
497 | ACPI_WALK_STATE *WalkState); |
498 | |
499 | ACPI_STATUS |
500 | AcpiExResolveMultiple ( |
501 | ACPI_WALK_STATE *WalkState, |
502 | ACPI_OPERAND_OBJECT *Operand, |
503 | ACPI_OBJECT_TYPE *ReturnType, |
504 | ACPI_OPERAND_OBJECT **ReturnDesc); |
505 | |
506 | |
507 | /* |
508 | * exresnte - resolve namespace node |
509 | */ |
510 | ACPI_STATUS |
511 | AcpiExResolveNodeToValue ( |
512 | ACPI_NAMESPACE_NODE **StackPtr, |
513 | ACPI_WALK_STATE *WalkState); |
514 | |
515 | |
516 | /* |
517 | * exresop - resolve operand to value |
518 | */ |
519 | ACPI_STATUS |
520 | AcpiExResolveOperands ( |
521 | UINT16 Opcode, |
522 | ACPI_OPERAND_OBJECT **StackPtr, |
523 | ACPI_WALK_STATE *WalkState); |
524 | |
525 | |
526 | /* |
527 | * exdump - Interpreter debug output routines |
528 | */ |
529 | void |
530 | AcpiExDumpOperand ( |
531 | ACPI_OPERAND_OBJECT *ObjDesc, |
532 | UINT32 Depth); |
533 | |
534 | void |
535 | AcpiExDumpOperands ( |
536 | ACPI_OPERAND_OBJECT **Operands, |
537 | const char *OpcodeName, |
538 | UINT32 NumOpcodes); |
539 | |
540 | void |
541 | AcpiExDumpObjectDescriptor ( |
542 | ACPI_OPERAND_OBJECT *Object, |
543 | UINT32 Flags); |
544 | |
545 | void |
546 | AcpiExDumpNamespaceNode ( |
547 | ACPI_NAMESPACE_NODE *Node, |
548 | UINT32 Flags); |
549 | |
550 | |
551 | /* |
552 | * exnames - AML namestring support |
553 | */ |
554 | ACPI_STATUS |
555 | AcpiExGetNameString ( |
556 | ACPI_OBJECT_TYPE DataType, |
557 | UINT8 *InAmlAddress, |
558 | char **OutNameString, |
559 | UINT32 *OutNameLength); |
560 | |
561 | |
562 | /* |
563 | * exstore - Object store support |
564 | */ |
565 | ACPI_STATUS |
566 | AcpiExStore ( |
567 | ACPI_OPERAND_OBJECT *ValDesc, |
568 | ACPI_OPERAND_OBJECT *DestDesc, |
569 | ACPI_WALK_STATE *WalkState); |
570 | |
571 | ACPI_STATUS |
572 | AcpiExStoreObjectToNode ( |
573 | ACPI_OPERAND_OBJECT *SourceDesc, |
574 | ACPI_NAMESPACE_NODE *Node, |
575 | ACPI_WALK_STATE *WalkState, |
576 | UINT8 ImplicitConversion); |
577 | |
578 | #define ACPI_IMPLICIT_CONVERSION TRUE |
579 | #define ACPI_NO_IMPLICIT_CONVERSION FALSE |
580 | |
581 | |
582 | /* |
583 | * exstoren - resolve/store object |
584 | */ |
585 | ACPI_STATUS |
586 | AcpiExResolveObject ( |
587 | ACPI_OPERAND_OBJECT **SourceDescPtr, |
588 | ACPI_OBJECT_TYPE TargetType, |
589 | ACPI_WALK_STATE *WalkState); |
590 | |
591 | ACPI_STATUS |
592 | AcpiExStoreObjectToObject ( |
593 | ACPI_OPERAND_OBJECT *SourceDesc, |
594 | ACPI_OPERAND_OBJECT *DestDesc, |
595 | ACPI_OPERAND_OBJECT **NewDesc, |
596 | ACPI_WALK_STATE *WalkState); |
597 | |
598 | |
599 | /* |
600 | * exstorob - store object - buffer/string |
601 | */ |
602 | ACPI_STATUS |
603 | AcpiExStoreBufferToBuffer ( |
604 | ACPI_OPERAND_OBJECT *SourceDesc, |
605 | ACPI_OPERAND_OBJECT *TargetDesc); |
606 | |
607 | ACPI_STATUS |
608 | AcpiExStoreStringToString ( |
609 | ACPI_OPERAND_OBJECT *SourceDesc, |
610 | ACPI_OPERAND_OBJECT *TargetDesc); |
611 | |
612 | |
613 | /* |
614 | * excopy - object copy |
615 | */ |
616 | ACPI_STATUS |
617 | AcpiExCopyIntegerToIndexField ( |
618 | ACPI_OPERAND_OBJECT *SourceDesc, |
619 | ACPI_OPERAND_OBJECT *TargetDesc); |
620 | |
621 | ACPI_STATUS |
622 | AcpiExCopyIntegerToBankField ( |
623 | ACPI_OPERAND_OBJECT *SourceDesc, |
624 | ACPI_OPERAND_OBJECT *TargetDesc); |
625 | |
626 | ACPI_STATUS |
627 | AcpiExCopyDataToNamedField ( |
628 | ACPI_OPERAND_OBJECT *SourceDesc, |
629 | ACPI_NAMESPACE_NODE *Node); |
630 | |
631 | ACPI_STATUS |
632 | AcpiExCopyIntegerToBufferField ( |
633 | ACPI_OPERAND_OBJECT *SourceDesc, |
634 | ACPI_OPERAND_OBJECT *TargetDesc); |
635 | |
636 | |
637 | /* |
638 | * exutils - interpreter/scanner utilities |
639 | */ |
640 | void |
641 | AcpiExEnterInterpreter ( |
642 | void); |
643 | |
644 | void |
645 | AcpiExExitInterpreter ( |
646 | void); |
647 | |
648 | BOOLEAN |
649 | AcpiExTruncateFor32bitTable ( |
650 | ACPI_OPERAND_OBJECT *ObjDesc); |
651 | |
652 | void |
653 | AcpiExAcquireGlobalLock ( |
654 | UINT32 Rule); |
655 | |
656 | void |
657 | AcpiExReleaseGlobalLock ( |
658 | UINT32 Rule); |
659 | |
660 | void |
661 | AcpiExEisaIdToString ( |
662 | char *Dest, |
663 | UINT64 CompressedId); |
664 | |
665 | void |
666 | AcpiExIntegerToString ( |
667 | char *Dest, |
668 | UINT64 Value); |
669 | |
670 | void |
671 | AcpiExPciClsToString ( |
672 | char *Dest, |
673 | UINT8 ClassCode[3]); |
674 | |
675 | BOOLEAN |
676 | AcpiIsValidSpaceId ( |
677 | UINT8 SpaceId); |
678 | |
679 | |
680 | /* |
681 | * exregion - default OpRegion handlers |
682 | */ |
683 | ACPI_STATUS |
684 | AcpiExSystemMemorySpaceHandler ( |
685 | UINT32 Function, |
686 | ACPI_PHYSICAL_ADDRESS Address, |
687 | UINT32 BitWidth, |
688 | UINT64 *Value, |
689 | void *HandlerContext, |
690 | void *RegionContext); |
691 | |
692 | ACPI_STATUS |
693 | AcpiExSystemIoSpaceHandler ( |
694 | UINT32 Function, |
695 | ACPI_PHYSICAL_ADDRESS Address, |
696 | UINT32 BitWidth, |
697 | UINT64 *Value, |
698 | void *HandlerContext, |
699 | void *RegionContext); |
700 | |
701 | ACPI_STATUS |
702 | AcpiExPciConfigSpaceHandler ( |
703 | UINT32 Function, |
704 | ACPI_PHYSICAL_ADDRESS Address, |
705 | UINT32 BitWidth, |
706 | UINT64 *Value, |
707 | void *HandlerContext, |
708 | void *RegionContext); |
709 | |
710 | ACPI_STATUS |
711 | AcpiExCmosSpaceHandler ( |
712 | UINT32 Function, |
713 | ACPI_PHYSICAL_ADDRESS Address, |
714 | UINT32 BitWidth, |
715 | UINT64 *Value, |
716 | void *HandlerContext, |
717 | void *RegionContext); |
718 | |
719 | ACPI_STATUS |
720 | AcpiExPciBarSpaceHandler ( |
721 | UINT32 Function, |
722 | ACPI_PHYSICAL_ADDRESS Address, |
723 | UINT32 BitWidth, |
724 | UINT64 *Value, |
725 | void *HandlerContext, |
726 | void *RegionContext); |
727 | |
728 | ACPI_STATUS |
729 | AcpiExEmbeddedControllerSpaceHandler ( |
730 | UINT32 Function, |
731 | ACPI_PHYSICAL_ADDRESS Address, |
732 | UINT32 BitWidth, |
733 | UINT64 *Value, |
734 | void *HandlerContext, |
735 | void *RegionContext); |
736 | |
737 | ACPI_STATUS |
738 | AcpiExSmBusSpaceHandler ( |
739 | UINT32 Function, |
740 | ACPI_PHYSICAL_ADDRESS Address, |
741 | UINT32 BitWidth, |
742 | UINT64 *Value, |
743 | void *HandlerContext, |
744 | void *RegionContext); |
745 | |
746 | |
747 | ACPI_STATUS |
748 | AcpiExDataTableSpaceHandler ( |
749 | UINT32 Function, |
750 | ACPI_PHYSICAL_ADDRESS Address, |
751 | UINT32 BitWidth, |
752 | UINT64 *Value, |
753 | void *HandlerContext, |
754 | void *RegionContext); |
755 | |
756 | #endif /* __INTERP_H__ */ |
757 | |