acinterp.h revision 1.5 1 /******************************************************************************
2 *
3 * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2014, 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
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__ */
723