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