xref: /illumos-gate/usr/src/uts/intel/sys/acpi/acinterp.h (revision 7c478bd9)
1 /******************************************************************************
2  *
3  * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4  *       $Revision: 162 $
5  *
6  *****************************************************************************/
7 
8 /******************************************************************************
9  *
10  * 1. Copyright Notice
11  *
12  * Some or all of this work - Copyright (c) 1999 - 2005, 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 
124 /*
125  * exconvrt - object conversion
126  */
127 ACPI_STATUS
128 AcpiExConvertToInteger (
129     ACPI_OPERAND_OBJECT     *ObjDesc,
130     ACPI_OPERAND_OBJECT     **ResultDesc,
131     UINT32                  Flags);
132 
133 ACPI_STATUS
134 AcpiExConvertToBuffer (
135     ACPI_OPERAND_OBJECT     *ObjDesc,
136     ACPI_OPERAND_OBJECT     **ResultDesc);
137 
138 ACPI_STATUS
139 AcpiExConvertToString (
140     ACPI_OPERAND_OBJECT     *ObjDesc,
141     ACPI_OPERAND_OBJECT     **ResultDesc,
142     UINT32                  Type);
143 
144 /* Types for ->String conversion */
145 
146 #define ACPI_EXPLICIT_BYTE_COPY         0x00000000
147 #define ACPI_EXPLICIT_CONVERT_HEX       0x00000001
148 #define ACPI_IMPLICIT_CONVERT_HEX       0x00000002
149 #define ACPI_EXPLICIT_CONVERT_DECIMAL   0x00000003
150 
151 ACPI_STATUS
152 AcpiExConvertToTargetType (
153     ACPI_OBJECT_TYPE        DestinationType,
154     ACPI_OPERAND_OBJECT     *SourceDesc,
155     ACPI_OPERAND_OBJECT     **ResultDesc,
156     ACPI_WALK_STATE         *WalkState);
157 
158 
159 /*
160  * exfield - ACPI AML (p-code) execution - field manipulation
161  */
162 ACPI_STATUS
163 AcpiExCommonBufferSetup (
164     ACPI_OPERAND_OBJECT     *ObjDesc,
165     UINT32                  BufferLength,
166     UINT32                  *DatumCount);
167 
168 ACPI_STATUS
169 AcpiExWriteWithUpdateRule (
170     ACPI_OPERAND_OBJECT     *ObjDesc,
171     ACPI_INTEGER            Mask,
172     ACPI_INTEGER            FieldValue,
173     UINT32                  FieldDatumByteOffset);
174 
175 void
176 AcpiExGetBufferDatum(
177     ACPI_INTEGER            *Datum,
178     void                    *Buffer,
179     UINT32                  BufferLength,
180     UINT32                  ByteGranularity,
181     UINT32                  BufferOffset);
182 
183 void
184 AcpiExSetBufferDatum (
185     ACPI_INTEGER            MergedDatum,
186     void                    *Buffer,
187     UINT32                  BufferLength,
188     UINT32                  ByteGranularity,
189     UINT32                  BufferOffset);
190 
191 ACPI_STATUS
192 AcpiExReadDataFromField (
193     ACPI_WALK_STATE         *WalkState,
194     ACPI_OPERAND_OBJECT     *ObjDesc,
195     ACPI_OPERAND_OBJECT     **RetBufferDesc);
196 
197 ACPI_STATUS
198 AcpiExWriteDataToField (
199     ACPI_OPERAND_OBJECT     *SourceDesc,
200     ACPI_OPERAND_OBJECT     *ObjDesc,
201     ACPI_OPERAND_OBJECT     **ResultDesc);
202 
203 
204 /*
205  * exfldio - low level field I/O
206  */
207 ACPI_STATUS
208 AcpiExExtractFromField (
209     ACPI_OPERAND_OBJECT     *ObjDesc,
210     void                    *Buffer,
211     UINT32                  BufferLength);
212 
213 ACPI_STATUS
214 AcpiExInsertIntoField (
215     ACPI_OPERAND_OBJECT     *ObjDesc,
216     void                    *Buffer,
217     UINT32                  BufferLength);
218 
219 ACPI_STATUS
220 AcpiExAccessRegion (
221     ACPI_OPERAND_OBJECT     *ObjDesc,
222     UINT32                  FieldDatumByteOffset,
223     ACPI_INTEGER            *Value,
224     UINT32                  ReadWrite);
225 
226 
227 /*
228  * exmisc - misc support routines
229  */
230 ACPI_STATUS
231 AcpiExGetObjectReference (
232     ACPI_OPERAND_OBJECT     *ObjDesc,
233     ACPI_OPERAND_OBJECT     **ReturnDesc,
234     ACPI_WALK_STATE         *WalkState);
235 
236 ACPI_STATUS
237 AcpiExConcatTemplate (
238     ACPI_OPERAND_OBJECT     *ObjDesc,
239     ACPI_OPERAND_OBJECT     *ObjDesc2,
240     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
241     ACPI_WALK_STATE         *WalkState);
242 
243 ACPI_STATUS
244 AcpiExDoConcatenate (
245     ACPI_OPERAND_OBJECT     *ObjDesc,
246     ACPI_OPERAND_OBJECT     *ObjDesc2,
247     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
248     ACPI_WALK_STATE         *WalkState);
249 
250 ACPI_STATUS
251 AcpiExDoLogicalNumericOp (
252     UINT16                  Opcode,
253     ACPI_INTEGER            Integer0,
254     ACPI_INTEGER            Integer1,
255     BOOLEAN                 *LogicalResult);
256 
257 ACPI_STATUS
258 AcpiExDoLogicalOp (
259     UINT16                  Opcode,
260     ACPI_OPERAND_OBJECT     *Operand0,
261     ACPI_OPERAND_OBJECT     *Operand1,
262     BOOLEAN                 *LogicalResult);
263 
264 ACPI_INTEGER
265 AcpiExDoMathOp (
266     UINT16                  Opcode,
267     ACPI_INTEGER            Operand0,
268     ACPI_INTEGER            Operand1);
269 
270 ACPI_STATUS
271 AcpiExCreateMutex (
272     ACPI_WALK_STATE         *WalkState);
273 
274 ACPI_STATUS
275 AcpiExCreateProcessor (
276     ACPI_WALK_STATE         *WalkState);
277 
278 ACPI_STATUS
279 AcpiExCreatePowerResource (
280     ACPI_WALK_STATE         *WalkState);
281 
282 ACPI_STATUS
283 AcpiExCreateRegion (
284     UINT8                   *AmlStart,
285     UINT32                  AmlLength,
286     UINT8                   RegionSpace,
287     ACPI_WALK_STATE         *WalkState);
288 
289 ACPI_STATUS
290 AcpiExCreateTableRegion (
291     ACPI_WALK_STATE         *WalkState);
292 
293 ACPI_STATUS
294 AcpiExCreateEvent (
295     ACPI_WALK_STATE         *WalkState);
296 
297 ACPI_STATUS
298 AcpiExCreateAlias (
299     ACPI_WALK_STATE         *WalkState);
300 
301 ACPI_STATUS
302 AcpiExCreateMethod (
303     UINT8                   *AmlStart,
304     UINT32                  AmlLength,
305     ACPI_WALK_STATE         *WalkState);
306 
307 
308 /*
309  * exconfig - dynamic table load/unload
310  */
311 ACPI_STATUS
312 AcpiExLoadOp (
313     ACPI_OPERAND_OBJECT     *ObjDesc,
314     ACPI_OPERAND_OBJECT     *Target,
315     ACPI_WALK_STATE         *WalkState);
316 
317 ACPI_STATUS
318 AcpiExLoadTableOp (
319     ACPI_WALK_STATE         *WalkState,
320     ACPI_OPERAND_OBJECT     **ReturnDesc);
321 
322 ACPI_STATUS
323 AcpiExUnloadTable (
324     ACPI_OPERAND_OBJECT     *DdbHandle);
325 
326 
327 /*
328  * exmutex - mutex support
329  */
330 ACPI_STATUS
331 AcpiExAcquireMutex (
332     ACPI_OPERAND_OBJECT     *TimeDesc,
333     ACPI_OPERAND_OBJECT     *ObjDesc,
334     ACPI_WALK_STATE         *WalkState);
335 
336 ACPI_STATUS
337 AcpiExReleaseMutex (
338     ACPI_OPERAND_OBJECT     *ObjDesc,
339     ACPI_WALK_STATE         *WalkState);
340 
341 void
342 AcpiExReleaseAllMutexes (
343     ACPI_THREAD_STATE       *Thread);
344 
345 void
346 AcpiExUnlinkMutex (
347     ACPI_OPERAND_OBJECT     *ObjDesc);
348 
349 
350 /*
351  * exprep - ACPI AML execution - prep utilities
352  */
353 ACPI_STATUS
354 AcpiExPrepCommonFieldObject (
355     ACPI_OPERAND_OBJECT     *ObjDesc,
356     UINT8                   FieldFlags,
357     UINT8                   FieldAttribute,
358     UINT32                  FieldBitPosition,
359     UINT32                  FieldBitLength);
360 
361 ACPI_STATUS
362 AcpiExPrepFieldValue (
363     ACPI_CREATE_FIELD_INFO  *Info);
364 
365 
366 /*
367  * exsystem - Interface to OS services
368  */
369 ACPI_STATUS
370 AcpiExSystemDoNotifyOp (
371     ACPI_OPERAND_OBJECT     *Value,
372     ACPI_OPERAND_OBJECT     *ObjDesc);
373 
374 ACPI_STATUS
375 AcpiExSystemDoSuspend(
376     ACPI_INTEGER            Time);
377 
378 ACPI_STATUS
379 AcpiExSystemDoStall (
380     UINT32                  Time);
381 
382 ACPI_STATUS
383 AcpiExSystemAcquireMutex(
384     ACPI_OPERAND_OBJECT     *Time,
385     ACPI_OPERAND_OBJECT     *ObjDesc);
386 
387 ACPI_STATUS
388 AcpiExSystemReleaseMutex(
389     ACPI_OPERAND_OBJECT     *ObjDesc);
390 
391 ACPI_STATUS
392 AcpiExSystemSignalEvent(
393     ACPI_OPERAND_OBJECT     *ObjDesc);
394 
395 ACPI_STATUS
396 AcpiExSystemWaitEvent(
397     ACPI_OPERAND_OBJECT     *Time,
398     ACPI_OPERAND_OBJECT     *ObjDesc);
399 
400 ACPI_STATUS
401 AcpiExSystemResetEvent(
402     ACPI_OPERAND_OBJECT     *ObjDesc);
403 
404 ACPI_STATUS
405 AcpiExSystemWaitSemaphore (
406     ACPI_HANDLE             Semaphore,
407     UINT16                  Timeout);
408 
409 
410 /*
411  * exoparg1 - ACPI AML execution, 1 operand
412  */
413 ACPI_STATUS
414 AcpiExOpcode_0A_0T_1R (
415     ACPI_WALK_STATE         *WalkState);
416 
417 ACPI_STATUS
418 AcpiExOpcode_1A_0T_0R (
419     ACPI_WALK_STATE         *WalkState);
420 
421 ACPI_STATUS
422 AcpiExOpcode_1A_0T_1R (
423     ACPI_WALK_STATE         *WalkState);
424 
425 ACPI_STATUS
426 AcpiExOpcode_1A_1T_1R (
427     ACPI_WALK_STATE         *WalkState);
428 
429 ACPI_STATUS
430 AcpiExOpcode_1A_1T_0R (
431     ACPI_WALK_STATE         *WalkState);
432 
433 /*
434  * exoparg2 - ACPI AML execution, 2 operands
435  */
436 ACPI_STATUS
437 AcpiExOpcode_2A_0T_0R (
438     ACPI_WALK_STATE         *WalkState);
439 
440 ACPI_STATUS
441 AcpiExOpcode_2A_0T_1R (
442     ACPI_WALK_STATE         *WalkState);
443 
444 ACPI_STATUS
445 AcpiExOpcode_2A_1T_1R (
446     ACPI_WALK_STATE         *WalkState);
447 
448 ACPI_STATUS
449 AcpiExOpcode_2A_2T_1R (
450     ACPI_WALK_STATE         *WalkState);
451 
452 
453 /*
454  * exoparg3 - ACPI AML execution, 3 operands
455  */
456 ACPI_STATUS
457 AcpiExOpcode_3A_0T_0R (
458     ACPI_WALK_STATE         *WalkState);
459 
460 ACPI_STATUS
461 AcpiExOpcode_3A_1T_1R (
462     ACPI_WALK_STATE         *WalkState);
463 
464 
465 /*
466  * exoparg6 - ACPI AML execution, 6 operands
467  */
468 ACPI_STATUS
469 AcpiExOpcode_6A_0T_1R (
470     ACPI_WALK_STATE         *WalkState);
471 
472 
473 /*
474  * exresolv - Object resolution and get value functions
475  */
476 ACPI_STATUS
477 AcpiExResolveToValue (
478     ACPI_OPERAND_OBJECT     **StackPtr,
479     ACPI_WALK_STATE         *WalkState);
480 
481 ACPI_STATUS
482 AcpiExResolveMultiple (
483     ACPI_WALK_STATE         *WalkState,
484     ACPI_OPERAND_OBJECT     *Operand,
485     ACPI_OBJECT_TYPE        *ReturnType,
486     ACPI_OPERAND_OBJECT     **ReturnDesc);
487 
488 
489 /*
490  * exresnte - resolve namespace node
491  */
492 ACPI_STATUS
493 AcpiExResolveNodeToValue (
494     ACPI_NAMESPACE_NODE     **StackPtr,
495     ACPI_WALK_STATE         *WalkState);
496 
497 
498 /*
499  * exresop - resolve operand to value
500  */
501 ACPI_STATUS
502 AcpiExResolveOperands (
503     UINT16                  Opcode,
504     ACPI_OPERAND_OBJECT     **StackPtr,
505     ACPI_WALK_STATE         *WalkState);
506 
507 
508 /*
509  * exdump - Interpreter debug output routines
510  */
511 void
512 AcpiExDumpOperand (
513     ACPI_OPERAND_OBJECT     *ObjDesc,
514     UINT32                  Depth);
515 
516 void
517 AcpiExDumpOperands (
518     ACPI_OPERAND_OBJECT     **Operands,
519     ACPI_INTERPRETER_MODE   InterpreterMode,
520     char                    *Ident,
521     UINT32                  NumLevels,
522     char                    *Note,
523     char                    *ModuleName,
524     UINT32                  LineNumber);
525 
526 void
527 AcpiExDumpObjectDescriptor (
528     ACPI_OPERAND_OBJECT     *Object,
529     UINT32                  Flags);
530 
531 void
532 AcpiExDumpNode (
533     ACPI_NAMESPACE_NODE     *Node,
534     UINT32                  Flags);
535 
536 
537 /*
538  * exnames - AML namestring support
539  */
540 ACPI_STATUS
541 AcpiExGetNameString (
542     ACPI_OBJECT_TYPE        DataType,
543     UINT8                   *InAmlAddress,
544     char                    **OutNameString,
545     UINT32                  *OutNameLength);
546 
547 
548 /*
549  * exstore - Object store support
550  */
551 ACPI_STATUS
552 AcpiExStore (
553     ACPI_OPERAND_OBJECT     *ValDesc,
554     ACPI_OPERAND_OBJECT     *DestDesc,
555     ACPI_WALK_STATE         *WalkState);
556 
557 ACPI_STATUS
558 AcpiExStoreObjectToNode (
559     ACPI_OPERAND_OBJECT     *SourceDesc,
560     ACPI_NAMESPACE_NODE     *Node,
561     ACPI_WALK_STATE         *WalkState,
562     UINT8                   ImplicitConversion);
563 
564 #define ACPI_IMPLICIT_CONVERSION        TRUE
565 #define ACPI_NO_IMPLICIT_CONVERSION     FALSE
566 
567 
568 /*
569  * exstoren - resolve/store object
570  */
571 ACPI_STATUS
572 AcpiExResolveObject (
573     ACPI_OPERAND_OBJECT     **SourceDescPtr,
574     ACPI_OBJECT_TYPE        TargetType,
575     ACPI_WALK_STATE         *WalkState);
576 
577 ACPI_STATUS
578 AcpiExStoreObjectToObject (
579     ACPI_OPERAND_OBJECT     *SourceDesc,
580     ACPI_OPERAND_OBJECT     *DestDesc,
581     ACPI_OPERAND_OBJECT     **NewDesc,
582     ACPI_WALK_STATE         *WalkState);
583 
584 
585 /*
586  * exstorob - store object - buffer/string
587  */
588 ACPI_STATUS
589 AcpiExStoreBufferToBuffer (
590     ACPI_OPERAND_OBJECT     *SourceDesc,
591     ACPI_OPERAND_OBJECT     *TargetDesc);
592 
593 ACPI_STATUS
594 AcpiExStoreStringToString (
595     ACPI_OPERAND_OBJECT     *SourceDesc,
596     ACPI_OPERAND_OBJECT     *TargetDesc);
597 
598 
599 /*
600  * excopy - object copy
601  */
602 ACPI_STATUS
603 AcpiExCopyIntegerToIndexField (
604     ACPI_OPERAND_OBJECT     *SourceDesc,
605     ACPI_OPERAND_OBJECT     *TargetDesc);
606 
607 ACPI_STATUS
608 AcpiExCopyIntegerToBankField (
609     ACPI_OPERAND_OBJECT     *SourceDesc,
610     ACPI_OPERAND_OBJECT     *TargetDesc);
611 
612 ACPI_STATUS
613 AcpiExCopyDataToNamedField (
614     ACPI_OPERAND_OBJECT     *SourceDesc,
615     ACPI_NAMESPACE_NODE     *Node);
616 
617 ACPI_STATUS
618 AcpiExCopyIntegerToBufferField (
619     ACPI_OPERAND_OBJECT     *SourceDesc,
620     ACPI_OPERAND_OBJECT     *TargetDesc);
621 
622 
623 /*
624  * exutils - interpreter/scanner utilities
625  */
626 ACPI_STATUS
627 AcpiExEnterInterpreter (
628     void);
629 
630 void
631 AcpiExExitInterpreter (
632     void);
633 
634 void
635 AcpiExTruncateFor32bitTable (
636     ACPI_OPERAND_OBJECT     *ObjDesc);
637 
638 BOOLEAN
639 AcpiExAcquireGlobalLock (
640     UINT32                  Rule);
641 
642 void
643 AcpiExReleaseGlobalLock (
644     BOOLEAN                 Locked);
645 
646 void
647 AcpiExEisaIdToString (
648     UINT32                  NumericId,
649     char                    *OutString);
650 
651 void
652 AcpiExUnsignedIntegerToString (
653     ACPI_INTEGER            Value,
654     char                    *OutString);
655 
656 
657 /*
658  * exregion - default OpRegion handlers
659  */
660 ACPI_STATUS
661 AcpiExSystemMemorySpaceHandler (
662     UINT32                  Function,
663     ACPI_PHYSICAL_ADDRESS   Address,
664     UINT32                  BitWidth,
665     ACPI_INTEGER            *Value,
666     void                    *HandlerContext,
667     void                    *RegionContext);
668 
669 ACPI_STATUS
670 AcpiExSystemIoSpaceHandler (
671     UINT32                  Function,
672     ACPI_PHYSICAL_ADDRESS   Address,
673     UINT32                  BitWidth,
674     ACPI_INTEGER            *Value,
675     void                    *HandlerContext,
676     void                    *RegionContext);
677 
678 ACPI_STATUS
679 AcpiExPciConfigSpaceHandler (
680     UINT32                  Function,
681     ACPI_PHYSICAL_ADDRESS   Address,
682     UINT32                  BitWidth,
683     ACPI_INTEGER            *Value,
684     void                    *HandlerContext,
685     void                    *RegionContext);
686 
687 ACPI_STATUS
688 AcpiExCmosSpaceHandler (
689     UINT32                  Function,
690     ACPI_PHYSICAL_ADDRESS   Address,
691     UINT32                  BitWidth,
692     ACPI_INTEGER            *Value,
693     void                    *HandlerContext,
694     void                    *RegionContext);
695 
696 ACPI_STATUS
697 AcpiExPciBarSpaceHandler (
698     UINT32                  Function,
699     ACPI_PHYSICAL_ADDRESS   Address,
700     UINT32                  BitWidth,
701     ACPI_INTEGER            *Value,
702     void                    *HandlerContext,
703     void                    *RegionContext);
704 
705 ACPI_STATUS
706 AcpiExEmbeddedControllerSpaceHandler (
707     UINT32                  Function,
708     ACPI_PHYSICAL_ADDRESS   Address,
709     UINT32                  BitWidth,
710     ACPI_INTEGER            *Value,
711     void                    *HandlerContext,
712     void                    *RegionContext);
713 
714 ACPI_STATUS
715 AcpiExSmBusSpaceHandler (
716     UINT32                  Function,
717     ACPI_PHYSICAL_ADDRESS   Address,
718     UINT32                  BitWidth,
719     ACPI_INTEGER            *Value,
720     void                    *HandlerContext,
721     void                    *RegionContext);
722 
723 
724 ACPI_STATUS
725 AcpiExDataTableSpaceHandler (
726     UINT32                  Function,
727     ACPI_PHYSICAL_ADDRESS   Address,
728     UINT32                  BitWidth,
729     ACPI_INTEGER            *Value,
730     void                    *HandlerContext,
731     void                    *RegionContext);
732 
733 #endif /* __INTERP_H__ */
734