acinterp.h revision 84491
1/******************************************************************************
2 *
3 * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4 *       $Revision: 110 $
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999, 2000, 2001, 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 WALK_OPERANDS       &(WalkState->Operands [WalkState->NumOperands -1])
122
123
124/* Interpreter constants */
125
126#define AML_END_OF_BLOCK            -1
127#define PUSH_PKG_LENGTH             1
128#define DO_NOT_PUSH_PKG_LENGTH      0
129
130
131#define STACK_TOP                   0
132#define STACK_BOTTOM                (UINT32) -1
133
134/* Constants for global "WhenToParseMethods" */
135
136#define METHOD_PARSE_AT_INIT        0x0
137#define METHOD_PARSE_JUST_IN_TIME   0x1
138#define METHOD_DELETE_AT_COMPLETION 0x2
139
140
141ACPI_STATUS
142AcpiExResolveOperands (
143    UINT16                  Opcode,
144    ACPI_OPERAND_OBJECT     **StackPtr,
145    ACPI_WALK_STATE         *WalkState);
146
147
148/*
149 * amxface - External interpreter interfaces
150 */
151
152ACPI_STATUS
153AcpiExLoadTable (
154    ACPI_TABLE_TYPE         TableId);
155
156ACPI_STATUS
157AcpiExExecuteMethod (
158    ACPI_NAMESPACE_NODE     *MethodNode,
159    ACPI_OPERAND_OBJECT     **Params,
160    ACPI_OPERAND_OBJECT     **ReturnObjDesc);
161
162
163/*
164 * amconvrt - object conversion
165 */
166
167ACPI_STATUS
168AcpiExConvertToInteger (
169    ACPI_OPERAND_OBJECT     *ObjDesc,
170    ACPI_OPERAND_OBJECT     **ResultDesc,
171    ACPI_WALK_STATE         *WalkState);
172
173ACPI_STATUS
174AcpiExConvertToBuffer (
175    ACPI_OPERAND_OBJECT     *ObjDesc,
176    ACPI_OPERAND_OBJECT     **ResultDesc,
177    ACPI_WALK_STATE         *WalkState);
178
179ACPI_STATUS
180AcpiExConvertToString (
181    ACPI_OPERAND_OBJECT     *ObjDesc,
182    ACPI_OPERAND_OBJECT     **ResultDesc,
183    UINT32                  Base,
184    UINT32                  MaxLength,
185    ACPI_WALK_STATE         *WalkState);
186
187ACPI_STATUS
188AcpiExConvertToTargetType (
189    ACPI_OBJECT_TYPE8       DestinationType,
190    ACPI_OPERAND_OBJECT     **ObjDesc,
191    ACPI_WALK_STATE         *WalkState);
192
193
194/*
195 * amfield - ACPI AML (p-code) execution - field manipulation
196 */
197
198ACPI_STATUS
199AcpiExExtractFromField (
200    ACPI_OPERAND_OBJECT     *ObjDesc,
201    void                    *Buffer,
202    UINT32                  BufferLength);
203
204ACPI_STATUS
205AcpiExInsertIntoField (
206    ACPI_OPERAND_OBJECT     *ObjDesc,
207    void                    *Buffer,
208    UINT32                  BufferLength);
209
210ACPI_STATUS
211AcpiExSetupField (
212    ACPI_OPERAND_OBJECT     *ObjDesc,
213    UINT32                  FieldByteOffset);
214
215ACPI_STATUS
216AcpiExReadFieldDatum (
217    ACPI_OPERAND_OBJECT     *ObjDesc,
218    UINT32                  FieldByteOffset,
219    UINT32                  *Value);
220
221ACPI_STATUS
222AcpiExCommonAccessField (
223    UINT32                  Mode,
224    ACPI_OPERAND_OBJECT     *ObjDesc,
225    void                    *Buffer,
226    UINT32                  BufferLength);
227
228
229ACPI_STATUS
230AcpiExAccessIndexField (
231    UINT32                  Mode,
232    ACPI_OPERAND_OBJECT     *ObjDesc,
233    void                    *Buffer,
234    UINT32                  BufferLength);
235
236ACPI_STATUS
237AcpiExAccessBankField (
238    UINT32                  Mode,
239    ACPI_OPERAND_OBJECT     *ObjDesc,
240    void                    *Buffer,
241    UINT32                  BufferLength);
242
243ACPI_STATUS
244AcpiExAccessRegionField (
245    UINT32                  Mode,
246    ACPI_OPERAND_OBJECT     *ObjDesc,
247    void                    *Buffer,
248    UINT32                  BufferLength);
249
250
251ACPI_STATUS
252AcpiExAccessBufferField (
253    UINT32                  Mode,
254    ACPI_OPERAND_OBJECT     *ObjDesc,
255    void                    *Buffer,
256    UINT32                  BufferLength);
257
258ACPI_STATUS
259AcpiExReadDataFromField (
260    ACPI_OPERAND_OBJECT     *ObjDesc,
261    ACPI_OPERAND_OBJECT     **RetBufferDesc);
262
263ACPI_STATUS
264AcpiExWriteDataToField (
265    ACPI_OPERAND_OBJECT     *SourceDesc,
266    ACPI_OPERAND_OBJECT     *ObjDesc);
267
268/*
269 * ammisc - ACPI AML (p-code) execution - specific opcodes
270 */
271
272ACPI_STATUS
273AcpiExTriadic (
274    ACPI_WALK_STATE         *WalkState);
275
276ACPI_STATUS
277AcpiExHexadic (
278    ACPI_WALK_STATE         *WalkState);
279
280ACPI_STATUS
281AcpiExCreateBufferField (
282    UINT8                   *AmlStart,
283    UINT32                  AmlLength,
284    ACPI_NAMESPACE_NODE     *Node,
285    ACPI_WALK_STATE         *WalkState);
286
287ACPI_STATUS
288AcpiExReconfiguration (
289    ACPI_WALK_STATE         *WalkState);
290
291ACPI_STATUS
292AcpiExCreateMutex (
293    ACPI_WALK_STATE         *WalkState);
294
295ACPI_STATUS
296AcpiExCreateProcessor (
297    ACPI_PARSE_OBJECT       *Op,
298    ACPI_NAMESPACE_NODE     *ProcessorNode);
299
300ACPI_STATUS
301AcpiExCreatePowerResource (
302    ACPI_PARSE_OBJECT       *Op,
303    ACPI_NAMESPACE_NODE     *PowerNode);
304
305ACPI_STATUS
306AcpiExCreateRegion (
307    UINT8                   *AmlStart,
308    UINT32                  AmlLength,
309    UINT8                   RegionSpace,
310    ACPI_WALK_STATE         *WalkState);
311
312ACPI_STATUS
313AcpiExCreateTableRegion (
314    ACPI_WALK_STATE         *WalkState);
315
316ACPI_STATUS
317AcpiExCreateEvent (
318    ACPI_WALK_STATE         *WalkState);
319
320ACPI_STATUS
321AcpiExCreateAlias (
322    ACPI_WALK_STATE         *WalkState);
323
324ACPI_STATUS
325AcpiExCreateMethod (
326    UINT8                   *AmlStart,
327    UINT32                  AmlLength,
328    UINT32                  MethodFlags,
329    ACPI_NAMESPACE_NODE     *Method);
330
331
332/*
333 * ammutex - mutex support
334 */
335
336ACPI_STATUS
337AcpiExAcquireMutex (
338    ACPI_OPERAND_OBJECT     *TimeDesc,
339    ACPI_OPERAND_OBJECT     *ObjDesc,
340    ACPI_WALK_STATE         *WalkState);
341
342ACPI_STATUS
343AcpiExReleaseMutex (
344    ACPI_OPERAND_OBJECT     *ObjDesc,
345    ACPI_WALK_STATE         *WalkState);
346
347ACPI_STATUS
348AcpiExReleaseAllMutexes (
349    ACPI_OPERAND_OBJECT     *MutexList);
350
351void
352AcpiExUnlinkMutex (
353    ACPI_OPERAND_OBJECT     *ObjDesc);
354
355
356/*
357 * amprep - ACPI AML (p-code) execution - prep utilities
358 */
359
360ACPI_STATUS
361AcpiExPrepCommonFieldObject (
362    ACPI_OPERAND_OBJECT     *ObjDesc,
363    UINT8                   FieldFlags,
364    UINT32                  FieldPosition,
365    UINT32                  FieldLength);
366
367ACPI_STATUS
368AcpiExPrepRegionFieldValue (
369    ACPI_NAMESPACE_NODE     *Node,
370    ACPI_HANDLE             Region,
371    UINT8                   FieldFlags,
372    UINT32                  FieldPosition,
373    UINT32                  FieldLength);
374
375ACPI_STATUS
376AcpiExPrepBankFieldValue (
377    ACPI_NAMESPACE_NODE     *Node,
378    ACPI_NAMESPACE_NODE     *RegionNode,
379    ACPI_NAMESPACE_NODE     *BankRegisterNode,
380    UINT32                  BankVal,
381    UINT8                   FieldFlags,
382    UINT32                  FieldPosition,
383    UINT32                  FieldLength);
384
385ACPI_STATUS
386AcpiExPrepIndexFieldValue (
387    ACPI_NAMESPACE_NODE     *Node,
388    ACPI_NAMESPACE_NODE     *IndexReg,
389    ACPI_NAMESPACE_NODE     *DataReg,
390    UINT8                   FieldFlags,
391    UINT32                  FieldPosition,
392    UINT32                  FieldLength);
393
394
395/*
396 * amsystem - Interface to OS services
397 */
398
399ACPI_STATUS
400AcpiExSystemDoNotifyOp (
401    ACPI_OPERAND_OBJECT     *Value,
402    ACPI_OPERAND_OBJECT     *ObjDesc);
403
404void
405AcpiExSystemDoSuspend(
406    UINT32                  Time);
407
408void
409AcpiExSystemDoStall (
410    UINT32                  Time);
411
412ACPI_STATUS
413AcpiExSystemAcquireMutex(
414    ACPI_OPERAND_OBJECT     *Time,
415    ACPI_OPERAND_OBJECT     *ObjDesc);
416
417ACPI_STATUS
418AcpiExSystemReleaseMutex(
419    ACPI_OPERAND_OBJECT     *ObjDesc);
420
421ACPI_STATUS
422AcpiExSystemSignalEvent(
423    ACPI_OPERAND_OBJECT     *ObjDesc);
424
425ACPI_STATUS
426AcpiExSystemWaitEvent(
427    ACPI_OPERAND_OBJECT     *Time,
428    ACPI_OPERAND_OBJECT     *ObjDesc);
429
430ACPI_STATUS
431AcpiExSystemResetEvent(
432    ACPI_OPERAND_OBJECT     *ObjDesc);
433
434ACPI_STATUS
435AcpiExSystemWaitSemaphore (
436    ACPI_HANDLE             Semaphore,
437    UINT32                  Timeout);
438
439
440/*
441 * ammonadic - ACPI AML (p-code) execution, monadic operators
442 */
443
444ACPI_STATUS
445AcpiExMonadic1 (
446    ACPI_WALK_STATE         *WalkState);
447
448ACPI_STATUS
449AcpiExMonadic2 (
450    ACPI_WALK_STATE         *WalkState);
451
452ACPI_STATUS
453AcpiExMonadic2R (
454    ACPI_WALK_STATE         *WalkState);
455
456
457/*
458 * amdyadic - ACPI AML (p-code) execution, dyadic operators
459 */
460
461ACPI_STATUS
462AcpiExDyadic1 (
463    ACPI_WALK_STATE         *WalkState);
464
465ACPI_STATUS
466AcpiExDyadic2 (
467    ACPI_WALK_STATE         *WalkState);
468
469ACPI_STATUS
470AcpiExDyadic2R (
471    ACPI_WALK_STATE         *WalkState);
472
473ACPI_STATUS
474AcpiExDyadic2S (
475    ACPI_WALK_STATE         *WalkState);
476
477
478/*
479 * amresolv  - Object resolution and get value functions
480 */
481
482ACPI_STATUS
483AcpiExResolveToValue (
484    ACPI_OPERAND_OBJECT     **StackPtr,
485    ACPI_WALK_STATE         *WalkState);
486
487ACPI_STATUS
488AcpiExResolveNodeToValue (
489    ACPI_NAMESPACE_NODE     **StackPtr,
490    ACPI_WALK_STATE         *WalkState);
491
492ACPI_STATUS
493AcpiExResolveObjectToValue (
494    ACPI_OPERAND_OBJECT     **StackPtr,
495    ACPI_WALK_STATE         *WalkState);
496
497ACPI_STATUS
498AcpiExGetBufferFieldValue (
499    ACPI_OPERAND_OBJECT     *FieldDesc,
500    ACPI_OPERAND_OBJECT     *ResultDesc);
501
502
503/*
504 * amdump - Scanner debug output routines
505 */
506
507void
508AcpiExShowHexValue (
509    UINT32                  ByteCount,
510    UINT8                   *AmlStart,
511    UINT32                  LeadSpace);
512
513
514ACPI_STATUS
515AcpiExDumpOperand (
516    ACPI_OPERAND_OBJECT     *EntryDesc);
517
518void
519AcpiExDumpOperands (
520    ACPI_OPERAND_OBJECT     **Operands,
521    OPERATING_MODE          InterpreterMode,
522    NATIVE_CHAR             *Ident,
523    UINT32                  NumLevels,
524    NATIVE_CHAR             *Note,
525    NATIVE_CHAR             *ModuleName,
526    UINT32                  LineNumber);
527
528void
529AcpiExDumpObjectDescriptor (
530    ACPI_OPERAND_OBJECT     *Object,
531    UINT32                  Flags);
532
533
534void
535AcpiExDumpNode (
536    ACPI_NAMESPACE_NODE     *Node,
537    UINT32                  Flags);
538
539
540/*
541 * amnames - interpreter/scanner name load/execute
542 */
543
544NATIVE_CHAR *
545AcpiExAllocateNameString (
546    UINT32                  PrefixCount,
547    UINT32                  NumNameSegs);
548
549UINT32
550AcpiExGoodChar (
551    UINT32                  Character);
552
553ACPI_STATUS
554AcpiExNameSegment (
555    UINT8                   **InAmlAddress,
556    NATIVE_CHAR             *NameString);
557
558ACPI_STATUS
559AcpiExGetNameString (
560    ACPI_OBJECT_TYPE8       DataType,
561    UINT8                   *InAmlAddress,
562    NATIVE_CHAR             **OutNameString,
563    UINT32                  *OutNameLength);
564
565ACPI_STATUS
566AcpiExDoName (
567    ACPI_OBJECT_TYPE        DataType,
568    OPERATING_MODE          LoadExecMode);
569
570
571/*
572 * amstore - Object store support
573 */
574
575ACPI_STATUS
576AcpiExStore (
577    ACPI_OPERAND_OBJECT     *ValDesc,
578    ACPI_OPERAND_OBJECT     *DestDesc,
579    ACPI_WALK_STATE         *WalkState);
580
581ACPI_STATUS
582AcpiExStoreObjectToIndex (
583    ACPI_OPERAND_OBJECT     *ValDesc,
584    ACPI_OPERAND_OBJECT     *DestDesc,
585    ACPI_WALK_STATE         *WalkState);
586
587ACPI_STATUS
588AcpiExStoreObjectToNode (
589    ACPI_OPERAND_OBJECT     *SourceDesc,
590    ACPI_NAMESPACE_NODE     *Node,
591    ACPI_WALK_STATE         *WalkState);
592
593ACPI_STATUS
594AcpiExStoreObjectToObject (
595    ACPI_OPERAND_OBJECT     *SourceDesc,
596    ACPI_OPERAND_OBJECT     *DestDesc,
597    ACPI_WALK_STATE         *WalkState);
598
599
600/*
601 *
602 */
603
604ACPI_STATUS
605AcpiExResolveObject (
606    ACPI_OPERAND_OBJECT     **SourceDescPtr,
607    ACPI_OBJECT_TYPE8       TargetType,
608    ACPI_WALK_STATE         *WalkState);
609
610ACPI_STATUS
611AcpiExStoreObject (
612    ACPI_OPERAND_OBJECT     *SourceDesc,
613    ACPI_OBJECT_TYPE8       TargetType,
614    ACPI_OPERAND_OBJECT     **TargetDescPtr,
615    ACPI_WALK_STATE         *WalkState);
616
617
618/*
619 * amcopy - object copy
620 */
621
622ACPI_STATUS
623AcpiExCopyBufferToBuffer (
624    ACPI_OPERAND_OBJECT     *SourceDesc,
625    ACPI_OPERAND_OBJECT     *TargetDesc);
626
627ACPI_STATUS
628AcpiExCopyStringToString (
629    ACPI_OPERAND_OBJECT     *SourceDesc,
630    ACPI_OPERAND_OBJECT     *TargetDesc);
631
632ACPI_STATUS
633AcpiExCopyIntegerToIndexField (
634    ACPI_OPERAND_OBJECT     *SourceDesc,
635    ACPI_OPERAND_OBJECT     *TargetDesc);
636
637ACPI_STATUS
638AcpiExCopyIntegerToBankField (
639    ACPI_OPERAND_OBJECT     *SourceDesc,
640    ACPI_OPERAND_OBJECT     *TargetDesc);
641
642ACPI_STATUS
643AcpiExCopyDataToNamedField (
644    ACPI_OPERAND_OBJECT     *SourceDesc,
645    ACPI_NAMESPACE_NODE     *Node);
646
647ACPI_STATUS
648AcpiExCopyIntegerToBufferField (
649    ACPI_OPERAND_OBJECT     *SourceDesc,
650    ACPI_OPERAND_OBJECT     *TargetDesc);
651
652/*
653 * amutils - interpreter/scanner utilities
654 */
655
656ACPI_STATUS
657AcpiExEnterInterpreter (
658    void);
659
660void
661AcpiExExitInterpreter (
662    void);
663
664void
665AcpiExTruncateFor32bitTable (
666    ACPI_OPERAND_OBJECT     *ObjDesc,
667    ACPI_WALK_STATE         *WalkState);
668
669BOOLEAN
670AcpiExValidateObjectType (
671    ACPI_OBJECT_TYPE        Type);
672
673BOOLEAN
674AcpiExAcquireGlobalLock (
675    UINT32                  Rule);
676
677ACPI_STATUS
678AcpiExReleaseGlobalLock (
679    BOOLEAN                 Locked);
680
681UINT32
682AcpiExDigitsNeeded (
683    ACPI_INTEGER            Value,
684    UINT32                  Base);
685
686ACPI_STATUS
687AcpiExEisaIdToString (
688    UINT32                  NumericId,
689    NATIVE_CHAR             *OutString);
690
691ACPI_STATUS
692AcpiExUnsignedIntegerToString (
693    ACPI_INTEGER            Value,
694    NATIVE_CHAR             *OutString);
695
696
697/*
698 * amregion - default OpRegion handlers
699 */
700
701ACPI_STATUS
702AcpiExSystemMemorySpaceHandler (
703    UINT32                  Function,
704    ACPI_PHYSICAL_ADDRESS   Address,
705    UINT32                  BitWidth,
706    UINT32                  *Value,
707    void                    *HandlerContext,
708    void                    *RegionContext);
709
710ACPI_STATUS
711AcpiExSystemIoSpaceHandler (
712    UINT32                  Function,
713    ACPI_PHYSICAL_ADDRESS   Address,
714    UINT32                  BitWidth,
715    UINT32                  *Value,
716    void                    *HandlerContext,
717    void                    *RegionContext);
718
719ACPI_STATUS
720AcpiExPciConfigSpaceHandler (
721    UINT32                  Function,
722    ACPI_PHYSICAL_ADDRESS   Address,
723    UINT32                  BitWidth,
724    UINT32                  *Value,
725    void                    *HandlerContext,
726    void                    *RegionContext);
727
728ACPI_STATUS
729AcpiExCmosSpaceHandler (
730    UINT32                  Function,
731    ACPI_PHYSICAL_ADDRESS   Address,
732    UINT32                  BitWidth,
733    UINT32                  *Value,
734    void                    *HandlerContext,
735    void                    *RegionContext);
736
737ACPI_STATUS
738AcpiExPciBarSpaceHandler (
739    UINT32                  Function,
740    ACPI_PHYSICAL_ADDRESS   Address,
741    UINT32                  BitWidth,
742    UINT32                  *Value,
743    void                    *HandlerContext,
744    void                    *RegionContext);
745
746ACPI_STATUS
747AcpiExEmbeddedControllerSpaceHandler (
748    UINT32                  Function,
749    ACPI_PHYSICAL_ADDRESS   Address,
750    UINT32                  BitWidth,
751    UINT32                  *Value,
752    void                    *HandlerContext,
753    void                    *RegionContext);
754
755ACPI_STATUS
756AcpiExSmBusSpaceHandler (
757    UINT32                  Function,
758    ACPI_PHYSICAL_ADDRESS   Address,
759    UINT32                  BitWidth,
760    UINT32                  *Value,
761    void                    *HandlerContext,
762    void                    *RegionContext);
763
764
765#endif /* __INTERP_H__ */
766