Deleted Added
sdiff udiff text old ( 114237 ) new ( 117521 )
full compact
1/******************************************************************************
2 *
3 * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4 * $Revision: 146 $
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights. You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.
21 *
22 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
23 * copy of the source code appearing in this file ("Covered Code") an
24 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
25 * base code distributed originally by Intel ("Original Intel Code") to copy,
26 * make derivatives, distribute, use and display any portion of the Covered
27 * Code in any form, with the right to sublicense such rights; and
28 *
29 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
30 * license (with the right to sublicense), under only those claims of Intel
31 * patents that are infringed by the Original Intel Code, to make, use, sell,
32 * offer to sell, and import the Covered Code and derivative works thereof
33 * solely to the minimum extent necessary to exercise the above copyright
34 * license, and in no event shall the patent license extend to any additions
35 * to or modifications of the Original Intel Code. No other license or right
36 * is granted directly or by implication, estoppel or otherwise;
37 *
38 * The above copyright and patent license is granted only if the following
39 * conditions are met:
40 *
41 * 3. Conditions
42 *
43 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
44 * Redistribution of source code of any substantial portion of the Covered
45 * Code or modification with rights to further distribute source must include
46 * the above Copyright Notice, the above License, this list of Conditions,
47 * and the following Disclaimer and Export Compliance provision. In addition,
48 * Licensee must cause all Covered Code to which Licensee contributes to
49 * contain a file documenting the changes Licensee made to create that Covered
50 * Code and the date of any change. Licensee must include in that file the
51 * documentation of any changes made by any predecessor Licensee. Licensee
52 * must include a prominent statement that the modification is derived,
53 * directly or indirectly, from Original Intel Code.
54 *
55 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
56 * Redistribution of source code of any substantial portion of the Covered
57 * Code or modification without rights to further distribute source must
58 * include the following Disclaimer and Export Compliance provision in the
59 * documentation and/or other materials provided with distribution. In
60 * addition, Licensee may not authorize further sublicense of source of any
61 * portion of the Covered Code, and must include terms to the effect that the
62 * license from Licensee to its licensee is limited to the intellectual
63 * property embodied in the software Licensee provides to its licensee, and
64 * not to intellectual property embodied in modifications its licensee may
65 * make.
66 *
67 * 3.3. Redistribution of Executable. Redistribution in executable form of any
68 * substantial portion of the Covered Code or modification must reproduce the
69 * above Copyright Notice, and the following Disclaimer and Export Compliance
70 * provision in the documentation and/or other materials provided with the
71 * distribution.
72 *
73 * 3.4. Intel retains all right, title, and interest in and to the Original
74 * Intel Code.
75 *
76 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
77 * Intel shall be used in advertising or otherwise to promote the sale, use or
78 * other dealings in products derived from or relating to the Covered Code
79 * without prior written authorization from Intel.
80 *
81 * 4. Disclaimer and Export Compliance
82 *
83 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
84 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
85 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
86 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
87 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
88 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
89 * PARTICULAR PURPOSE.
90 *
91 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
92 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
93 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
94 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
95 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
96 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
97 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
98 * LIMITED REMEDY.
99 *
100 * 4.3. Licensee shall not export, either directly or indirectly, any of this
101 * software or system incorporating such software without first obtaining any
102 * required license or other approval from the U. S. Department of Commerce or
103 * any other agency or department of the United States Government. In the
104 * event Licensee exports any such software from the United States or
105 * re-exports any such software from a foreign destination, Licensee shall
106 * ensure that the distribution and export/re-export of the software is in
107 * compliance with all laws, regulations, orders, or other restrictions of the
108 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
109 * any of its subsidiaries will export/re-export any technical data, process,
110 * software, or service, directly or indirectly, to any country for which the
111 * United States government or any agency thereof requires an export license,
112 * other governmental approval, or letter of assurance, without first obtaining
113 * such license, approval or letter.
114 *
115 *****************************************************************************/
116
117#ifndef __ACINTERP_H__
118#define __ACINTERP_H__
119
120
121#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1]))
122
123
124ACPI_STATUS
125AcpiExResolveOperands (
126 UINT16 Opcode,
127 ACPI_OPERAND_OBJECT **StackPtr,
128 ACPI_WALK_STATE *WalkState);
129
130ACPI_STATUS
131AcpiExCheckObjectType (
132 ACPI_OBJECT_TYPE TypeNeeded,
133 ACPI_OBJECT_TYPE ThisType,
134 void *Object);
135
136/*
137 * exxface - External interpreter interfaces
138 */
139
140ACPI_STATUS
141AcpiExLoadTable (
142 ACPI_TABLE_TYPE TableId);
143
144ACPI_STATUS
145AcpiExExecuteMethod (
146 ACPI_NAMESPACE_NODE *MethodNode,
147 ACPI_OPERAND_OBJECT **Params,
148 ACPI_OPERAND_OBJECT **ReturnObjDesc);
149
150
151/*
152 * exconvrt - object conversion
153 */
154
155ACPI_STATUS
156AcpiExConvertToInteger (
157 ACPI_OPERAND_OBJECT *ObjDesc,
158 ACPI_OPERAND_OBJECT **ResultDesc,
159 ACPI_WALK_STATE *WalkState);
160
161ACPI_STATUS
162AcpiExConvertToBuffer (
163 ACPI_OPERAND_OBJECT *ObjDesc,
164 ACPI_OPERAND_OBJECT **ResultDesc,
165 ACPI_WALK_STATE *WalkState);
166
167ACPI_STATUS
168AcpiExConvertToString (
169 ACPI_OPERAND_OBJECT *ObjDesc,
170 ACPI_OPERAND_OBJECT **ResultDesc,
171 UINT32 Base,
172 UINT32 MaxLength,
173 ACPI_WALK_STATE *WalkState);
174
175ACPI_STATUS
176AcpiExConvertToTargetType (
177 ACPI_OBJECT_TYPE DestinationType,
178 ACPI_OPERAND_OBJECT *SourceDesc,
179 ACPI_OPERAND_OBJECT **ResultDesc,
180 ACPI_WALK_STATE *WalkState);
181
182UINT32
183AcpiExConvertToAscii (
184 ACPI_INTEGER Integer,
185 UINT32 Base,
186 UINT8 *String,
187 UINT8 MaxLength);
188
189/*
190 * exfield - ACPI AML (p-code) execution - field manipulation
191 */
192
193ACPI_STATUS
194AcpiExExtractFromField (
195 ACPI_OPERAND_OBJECT *ObjDesc,
196 void *Buffer,
197 UINT32 BufferLength);
198
199ACPI_STATUS
200AcpiExInsertIntoField (
201 ACPI_OPERAND_OBJECT *ObjDesc,
202 void *Buffer,
203 UINT32 BufferLength);
204
205ACPI_STATUS
206AcpiExSetupRegion (
207 ACPI_OPERAND_OBJECT *ObjDesc,
208 UINT32 FieldDatumByteOffset);
209
210ACPI_STATUS
211AcpiExAccessRegion (
212 ACPI_OPERAND_OBJECT *ObjDesc,
213 UINT32 FieldDatumByteOffset,
214 ACPI_INTEGER *Value,
215 UINT32 ReadWrite);
216
217BOOLEAN
218AcpiExRegisterOverflow (
219 ACPI_OPERAND_OBJECT *ObjDesc,
220 ACPI_INTEGER Value);
221
222ACPI_STATUS
223AcpiExFieldDatumIo (
224 ACPI_OPERAND_OBJECT *ObjDesc,
225 UINT32 FieldDatumByteOffset,
226 ACPI_INTEGER *Value,
227 UINT32 ReadWrite);
228
229ACPI_STATUS
230AcpiExWriteWithUpdateRule (
231 ACPI_OPERAND_OBJECT *ObjDesc,
232 ACPI_INTEGER Mask,
233 ACPI_INTEGER FieldValue,
234 UINT32 FieldDatumByteOffset);
235
236void
237AcpiExGetBufferDatum(
238 ACPI_INTEGER *Datum,
239 void *Buffer,
240 UINT32 BufferLength,
241 UINT32 ByteGranularity,
242 UINT32 BufferOffset);
243
244void
245AcpiExSetBufferDatum (
246 ACPI_INTEGER MergedDatum,
247 void *Buffer,
248 UINT32 BufferLength,
249 UINT32 ByteGranularity,
250 UINT32 BufferOffset);
251
252ACPI_STATUS
253AcpiExReadDataFromField (
254 ACPI_WALK_STATE *WalkState,
255 ACPI_OPERAND_OBJECT *ObjDesc,
256 ACPI_OPERAND_OBJECT **RetBufferDesc);
257
258ACPI_STATUS
259AcpiExWriteDataToField (
260 ACPI_OPERAND_OBJECT *SourceDesc,
261 ACPI_OPERAND_OBJECT *ObjDesc,
262 ACPI_OPERAND_OBJECT **ResultDesc);
263
264/*
265 * exmisc - ACPI AML (p-code) execution - specific opcodes
266 */
267
268ACPI_STATUS
269AcpiExOpcode_3A_0T_0R (
270 ACPI_WALK_STATE *WalkState);
271
272ACPI_STATUS
273AcpiExOpcode_3A_1T_1R (
274 ACPI_WALK_STATE *WalkState);
275
276ACPI_STATUS
277AcpiExOpcode_6A_0T_1R (
278 ACPI_WALK_STATE *WalkState);
279
280BOOLEAN
281AcpiExDoMatch (
282 UINT32 MatchOp,
283 ACPI_INTEGER PackageValue,
284 ACPI_INTEGER MatchValue);
285
286ACPI_STATUS
287AcpiExGetObjectReference (
288 ACPI_OPERAND_OBJECT *ObjDesc,
289 ACPI_OPERAND_OBJECT **ReturnDesc,
290 ACPI_WALK_STATE *WalkState);
291
292ACPI_STATUS
293AcpiExResolveMultiple (
294 ACPI_WALK_STATE *WalkState,
295 ACPI_OPERAND_OBJECT *Operand,
296 ACPI_OBJECT_TYPE *ReturnType,
297 ACPI_OPERAND_OBJECT **ReturnDesc);
298
299ACPI_STATUS
300AcpiExConcatTemplate (
301 ACPI_OPERAND_OBJECT *ObjDesc,
302 ACPI_OPERAND_OBJECT *ObjDesc2,
303 ACPI_OPERAND_OBJECT **ActualReturnDesc,
304 ACPI_WALK_STATE *WalkState);
305
306ACPI_STATUS
307AcpiExDoConcatenate (
308 ACPI_OPERAND_OBJECT *ObjDesc,
309 ACPI_OPERAND_OBJECT *ObjDesc2,
310 ACPI_OPERAND_OBJECT **ActualReturnDesc,
311 ACPI_WALK_STATE *WalkState);
312
313BOOLEAN
314AcpiExDoLogicalOp (
315 UINT16 Opcode,
316 ACPI_INTEGER Operand0,
317 ACPI_INTEGER Operand1);
318
319ACPI_INTEGER
320AcpiExDoMathOp (
321 UINT16 Opcode,
322 ACPI_INTEGER Operand0,
323 ACPI_INTEGER Operand1);
324
325ACPI_STATUS
326AcpiExCreateMutex (
327 ACPI_WALK_STATE *WalkState);
328
329ACPI_STATUS
330AcpiExCreateProcessor (
331 ACPI_WALK_STATE *WalkState);
332
333ACPI_STATUS
334AcpiExCreatePowerResource (
335 ACPI_WALK_STATE *WalkState);
336
337ACPI_STATUS
338AcpiExCreateRegion (
339 UINT8 *AmlStart,
340 UINT32 AmlLength,
341 UINT8 RegionSpace,
342 ACPI_WALK_STATE *WalkState);
343
344ACPI_STATUS
345AcpiExCreateTableRegion (
346 ACPI_WALK_STATE *WalkState);
347
348ACPI_STATUS
349AcpiExCreateEvent (
350 ACPI_WALK_STATE *WalkState);
351
352ACPI_STATUS
353AcpiExCreateAlias (
354 ACPI_WALK_STATE *WalkState);
355
356ACPI_STATUS
357AcpiExCreateMethod (
358 UINT8 *AmlStart,
359 UINT32 AmlLength,
360 ACPI_WALK_STATE *WalkState);
361
362
363/*
364 * exconfig - dynamic table load/unload
365 */
366
367ACPI_STATUS
368AcpiExAddTable (
369 ACPI_TABLE_HEADER *Table,
370 ACPI_NAMESPACE_NODE *ParentNode,
371 ACPI_OPERAND_OBJECT **DdbHandle);
372
373ACPI_STATUS
374AcpiExLoadOp (
375 ACPI_OPERAND_OBJECT *ObjDesc,
376 ACPI_OPERAND_OBJECT *Target,
377 ACPI_WALK_STATE *WalkState);
378
379ACPI_STATUS
380AcpiExLoadTableOp (
381 ACPI_WALK_STATE *WalkState,
382 ACPI_OPERAND_OBJECT **ReturnDesc);
383
384ACPI_STATUS
385AcpiExUnloadTable (
386 ACPI_OPERAND_OBJECT *DdbHandle);
387
388
389/*
390 * exmutex - mutex support
391 */
392
393ACPI_STATUS
394AcpiExAcquireMutex (
395 ACPI_OPERAND_OBJECT *TimeDesc,
396 ACPI_OPERAND_OBJECT *ObjDesc,
397 ACPI_WALK_STATE *WalkState);
398
399ACPI_STATUS
400AcpiExReleaseMutex (
401 ACPI_OPERAND_OBJECT *ObjDesc,
402 ACPI_WALK_STATE *WalkState);
403
404void
405AcpiExReleaseAllMutexes (
406 ACPI_THREAD_STATE *Thread);
407
408void
409AcpiExUnlinkMutex (
410 ACPI_OPERAND_OBJECT *ObjDesc);
411
412void
413AcpiExLinkMutex (
414 ACPI_OPERAND_OBJECT *ObjDesc,
415 ACPI_THREAD_STATE *Thread);
416
417/*
418 * exprep - ACPI AML (p-code) execution - prep utilities
419 */
420
421ACPI_STATUS
422AcpiExPrepCommonFieldObject (
423 ACPI_OPERAND_OBJECT *ObjDesc,
424 UINT8 FieldFlags,
425 UINT8 FieldAttribute,
426 UINT32 FieldBitPosition,
427 UINT32 FieldBitLength);
428
429ACPI_STATUS
430AcpiExPrepFieldValue (
431 ACPI_CREATE_FIELD_INFO *Info);
432
433/*
434 * exsystem - Interface to OS services
435 */
436
437ACPI_STATUS
438AcpiExSystemDoNotifyOp (
439 ACPI_OPERAND_OBJECT *Value,
440 ACPI_OPERAND_OBJECT *ObjDesc);
441
442ACPI_STATUS
443AcpiExSystemDoSuspend(
444 UINT32 Time);
445
446ACPI_STATUS
447AcpiExSystemDoStall (
448 UINT32 Time);
449
450ACPI_STATUS
451AcpiExSystemAcquireMutex(
452 ACPI_OPERAND_OBJECT *Time,
453 ACPI_OPERAND_OBJECT *ObjDesc);
454
455ACPI_STATUS
456AcpiExSystemReleaseMutex(
457 ACPI_OPERAND_OBJECT *ObjDesc);
458
459ACPI_STATUS
460AcpiExSystemSignalEvent(
461 ACPI_OPERAND_OBJECT *ObjDesc);
462
463ACPI_STATUS
464AcpiExSystemWaitEvent(
465 ACPI_OPERAND_OBJECT *Time,
466 ACPI_OPERAND_OBJECT *ObjDesc);
467
468ACPI_STATUS
469AcpiExSystemResetEvent(
470 ACPI_OPERAND_OBJECT *ObjDesc);
471
472ACPI_STATUS
473AcpiExSystemWaitSemaphore (
474 ACPI_HANDLE Semaphore,
475 UINT16 Timeout);
476
477
478/*
479 * exmonadic - ACPI AML (p-code) execution, monadic operators
480 */
481
482ACPI_STATUS
483AcpiExOpcode_1A_0T_0R (
484 ACPI_WALK_STATE *WalkState);
485
486ACPI_STATUS
487AcpiExOpcode_1A_0T_1R (
488 ACPI_WALK_STATE *WalkState);
489
490ACPI_STATUS
491AcpiExOpcode_1A_1T_1R (
492 ACPI_WALK_STATE *WalkState);
493
494ACPI_STATUS
495AcpiExOpcode_1A_1T_0R (
496 ACPI_WALK_STATE *WalkState);
497
498/*
499 * exdyadic - ACPI AML (p-code) execution, dyadic operators
500 */
501
502ACPI_STATUS
503AcpiExOpcode_2A_0T_0R (
504 ACPI_WALK_STATE *WalkState);
505
506ACPI_STATUS
507AcpiExOpcode_2A_0T_1R (
508 ACPI_WALK_STATE *WalkState);
509
510ACPI_STATUS
511AcpiExOpcode_2A_1T_1R (
512 ACPI_WALK_STATE *WalkState);
513
514ACPI_STATUS
515AcpiExOpcode_2A_2T_1R (
516 ACPI_WALK_STATE *WalkState);
517
518
519/*
520 * exresolv - Object resolution and get value functions
521 */
522
523ACPI_STATUS
524AcpiExResolveToValue (
525 ACPI_OPERAND_OBJECT **StackPtr,
526 ACPI_WALK_STATE *WalkState);
527
528ACPI_STATUS
529AcpiExResolveNodeToValue (
530 ACPI_NAMESPACE_NODE **StackPtr,
531 ACPI_WALK_STATE *WalkState);
532
533ACPI_STATUS
534AcpiExResolveObjectToValue (
535 ACPI_OPERAND_OBJECT **StackPtr,
536 ACPI_WALK_STATE *WalkState);
537
538
539/*
540 * exdump - Scanner debug output routines
541 */
542
543void
544AcpiExDumpOperand (
545 ACPI_OPERAND_OBJECT *EntryDesc);
546
547void
548AcpiExDumpOperands (
549 ACPI_OPERAND_OBJECT **Operands,
550 ACPI_INTERPRETER_MODE InterpreterMode,
551 char *Ident,
552 UINT32 NumLevels,
553 char *Note,
554 char *ModuleName,
555 UINT32 LineNumber);
556
557void
558AcpiExDumpObjectDescriptor (
559 ACPI_OPERAND_OBJECT *Object,
560 UINT32 Flags);
561
562void
563AcpiExDumpNode (
564 ACPI_NAMESPACE_NODE *Node,
565 UINT32 Flags);
566
567void
568AcpiExOutString (
569 char *Title,
570 char *Value);
571
572void
573AcpiExOutPointer (
574 char *Title,
575 void *Value);
576
577void
578AcpiExOutInteger (
579 char *Title,
580 UINT32 Value);
581
582void
583AcpiExOutAddress (
584 char *Title,
585 ACPI_PHYSICAL_ADDRESS Value);
586
587
588/*
589 * exnames - interpreter/scanner name load/execute
590 */
591
592char *
593AcpiExAllocateNameString (
594 UINT32 PrefixCount,
595 UINT32 NumNameSegs);
596
597UINT32
598AcpiExGoodChar (
599 UINT32 Character);
600
601ACPI_STATUS
602AcpiExNameSegment (
603 UINT8 **InAmlAddress,
604 char *NameString);
605
606ACPI_STATUS
607AcpiExGetNameString (
608 ACPI_OBJECT_TYPE DataType,
609 UINT8 *InAmlAddress,
610 char **OutNameString,
611 UINT32 *OutNameLength);
612
613ACPI_STATUS
614AcpiExDoName (
615 ACPI_OBJECT_TYPE DataType,
616 ACPI_INTERPRETER_MODE LoadExecMode);
617
618
619/*
620 * exstore - Object store support
621 */
622
623ACPI_STATUS
624AcpiExStore (
625 ACPI_OPERAND_OBJECT *ValDesc,
626 ACPI_OPERAND_OBJECT *DestDesc,
627 ACPI_WALK_STATE *WalkState);
628
629ACPI_STATUS
630AcpiExStoreObjectToIndex (
631 ACPI_OPERAND_OBJECT *ValDesc,
632 ACPI_OPERAND_OBJECT *DestDesc,
633 ACPI_WALK_STATE *WalkState);
634
635ACPI_STATUS
636AcpiExStoreObjectToNode (
637 ACPI_OPERAND_OBJECT *SourceDesc,
638 ACPI_NAMESPACE_NODE *Node,
639 ACPI_WALK_STATE *WalkState);
640
641
642/*
643 * exstoren
644 */
645
646ACPI_STATUS
647AcpiExResolveObject (
648 ACPI_OPERAND_OBJECT **SourceDescPtr,
649 ACPI_OBJECT_TYPE TargetType,
650 ACPI_WALK_STATE *WalkState);
651
652ACPI_STATUS
653AcpiExStoreObjectToObject (
654 ACPI_OPERAND_OBJECT *SourceDesc,
655 ACPI_OPERAND_OBJECT *DestDesc,
656 ACPI_OPERAND_OBJECT **NewDesc,
657 ACPI_WALK_STATE *WalkState);
658
659
660/*
661 * excopy - object copy
662 */
663
664ACPI_STATUS
665AcpiExStoreBufferToBuffer (
666 ACPI_OPERAND_OBJECT *SourceDesc,
667 ACPI_OPERAND_OBJECT *TargetDesc);
668
669ACPI_STATUS
670AcpiExStoreStringToString (
671 ACPI_OPERAND_OBJECT *SourceDesc,
672 ACPI_OPERAND_OBJECT *TargetDesc);
673
674ACPI_STATUS
675AcpiExCopyIntegerToIndexField (
676 ACPI_OPERAND_OBJECT *SourceDesc,
677 ACPI_OPERAND_OBJECT *TargetDesc);
678
679ACPI_STATUS
680AcpiExCopyIntegerToBankField (
681 ACPI_OPERAND_OBJECT *SourceDesc,
682 ACPI_OPERAND_OBJECT *TargetDesc);
683
684ACPI_STATUS
685AcpiExCopyDataToNamedField (
686 ACPI_OPERAND_OBJECT *SourceDesc,
687 ACPI_NAMESPACE_NODE *Node);
688
689ACPI_STATUS
690AcpiExCopyIntegerToBufferField (
691 ACPI_OPERAND_OBJECT *SourceDesc,
692 ACPI_OPERAND_OBJECT *TargetDesc);
693
694/*
695 * exutils - interpreter/scanner utilities
696 */
697
698ACPI_STATUS
699AcpiExEnterInterpreter (
700 void);
701
702void
703AcpiExExitInterpreter (
704 void);
705
706void
707AcpiExTruncateFor32bitTable (
708 ACPI_OPERAND_OBJECT *ObjDesc);
709
710BOOLEAN
711AcpiExAcquireGlobalLock (
712 UINT32 Rule);
713
714void
715AcpiExReleaseGlobalLock (
716 BOOLEAN Locked);
717
718UINT32
719AcpiExDigitsNeeded (
720 ACPI_INTEGER Value,
721 UINT32 Base);
722
723void
724AcpiExEisaIdToString (
725 UINT32 NumericId,
726 char *OutString);
727
728void
729AcpiExUnsignedIntegerToString (
730 ACPI_INTEGER Value,
731 char *OutString);
732
733
734/*
735 * exregion - default OpRegion handlers
736 */
737
738ACPI_STATUS
739AcpiExSystemMemorySpaceHandler (
740 UINT32 Function,
741 ACPI_PHYSICAL_ADDRESS Address,
742 UINT32 BitWidth,
743 ACPI_INTEGER *Value,
744 void *HandlerContext,
745 void *RegionContext);
746
747ACPI_STATUS
748AcpiExSystemIoSpaceHandler (
749 UINT32 Function,
750 ACPI_PHYSICAL_ADDRESS Address,
751 UINT32 BitWidth,
752 ACPI_INTEGER *Value,
753 void *HandlerContext,
754 void *RegionContext);
755
756ACPI_STATUS
757AcpiExPciConfigSpaceHandler (
758 UINT32 Function,
759 ACPI_PHYSICAL_ADDRESS Address,
760 UINT32 BitWidth,
761 ACPI_INTEGER *Value,
762 void *HandlerContext,
763 void *RegionContext);
764
765ACPI_STATUS
766AcpiExCmosSpaceHandler (
767 UINT32 Function,
768 ACPI_PHYSICAL_ADDRESS Address,
769 UINT32 BitWidth,
770 ACPI_INTEGER *Value,
771 void *HandlerContext,
772 void *RegionContext);
773
774ACPI_STATUS
775AcpiExPciBarSpaceHandler (
776 UINT32 Function,
777 ACPI_PHYSICAL_ADDRESS Address,
778 UINT32 BitWidth,
779 ACPI_INTEGER *Value,
780 void *HandlerContext,
781 void *RegionContext);
782
783ACPI_STATUS
784AcpiExEmbeddedControllerSpaceHandler (
785 UINT32 Function,
786 ACPI_PHYSICAL_ADDRESS Address,
787 UINT32 BitWidth,
788 ACPI_INTEGER *Value,
789 void *HandlerContext,
790 void *RegionContext);
791
792ACPI_STATUS
793AcpiExSmBusSpaceHandler (
794 UINT32 Function,
795 ACPI_PHYSICAL_ADDRESS Address,
796 UINT32 BitWidth,
797 ACPI_INTEGER *Value,
798 void *HandlerContext,
799 void *RegionContext);
800
801
802ACPI_STATUS
803AcpiExDataTableSpaceHandler (
804 UINT32 Function,
805 ACPI_PHYSICAL_ADDRESS Address,
806 UINT32 BitWidth,
807 ACPI_INTEGER *Value,
808 void *HandlerContext,
809 void *RegionContext);
810
811#endif /* __INTERP_H__ */