152#ifndef __ACINTERP_H__
153#define __ACINTERP_H__
156#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1]))
160#define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f)
161#define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f)
162#define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO))
172#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
186#define ACPI_EXD_INIT 0
187#define ACPI_EXD_TYPE 1
188#define ACPI_EXD_UINT8 2
189#define ACPI_EXD_UINT16 3
190#define ACPI_EXD_UINT32 4
191#define ACPI_EXD_UINT64 5
192#define ACPI_EXD_LITERAL 6
193#define ACPI_EXD_POINTER 7
194#define ACPI_EXD_ADDRESS 8
195#define ACPI_EXD_STRING 9
196#define ACPI_EXD_BUFFER 10
197#define ACPI_EXD_PACKAGE 11
198#define ACPI_EXD_FIELD 12
199#define ACPI_EXD_REFERENCE 13
200#define ACPI_EXD_LIST 14
201#define ACPI_EXD_HDLR_LIST 15
202#define ACPI_EXD_RGN_LIST 16
203#define ACPI_EXD_NODE 17
214AcpiExConvertToInteger (
215 ACPI_OPERAND_OBJECT *ObjDesc,
216 ACPI_OPERAND_OBJECT **ResultDesc,
217 UINT32 ImplicitConversion);
220AcpiExConvertToBuffer (
221 ACPI_OPERAND_OBJECT *ObjDesc,
222 ACPI_OPERAND_OBJECT **ResultDesc);
225AcpiExConvertToString (
226 ACPI_OPERAND_OBJECT *ObjDesc,
227 ACPI_OPERAND_OBJECT **ResultDesc,
232#define ACPI_EXPLICIT_BYTE_COPY 0x00000000
233#define ACPI_EXPLICIT_CONVERT_HEX 0x00000001
234#define ACPI_IMPLICIT_CONVERT_HEX 0x00000002
235#define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003
238AcpiExConvertToTargetType (
239 ACPI_OBJECT_TYPE DestinationType,
240 ACPI_OPERAND_OBJECT *SourceDesc,
241 ACPI_OPERAND_OBJECT **ResultDesc,
242 ACPI_WALK_STATE *WalkState);
250 ACPI_OPERAND_OBJECT *SourceDesc,
255AcpiExStartTraceMethod (
256 ACPI_NAMESPACE_NODE *MethodNode,
257 ACPI_OPERAND_OBJECT *ObjDesc,
258 ACPI_WALK_STATE *WalkState);
261AcpiExStopTraceMethod (
262 ACPI_NAMESPACE_NODE *MethodNode,
263 ACPI_OPERAND_OBJECT *ObjDesc,
264 ACPI_WALK_STATE *WalkState);
267AcpiExStartTraceOpcode (
268 ACPI_PARSE_OBJECT *Op,
269 ACPI_WALK_STATE *WalkState);
272AcpiExStopTraceOpcode (
273 ACPI_PARSE_OBJECT *Op,
274 ACPI_WALK_STATE *WalkState);
278 ACPI_TRACE_EVENT_TYPE Type,
288AcpiExGetProtocolBufferLength (
290 UINT32 *ReturnLength);
293AcpiExCommonBufferSetup (
294 ACPI_OPERAND_OBJECT *ObjDesc,
299AcpiExWriteWithUpdateRule (
300 ACPI_OPERAND_OBJECT *ObjDesc,
303 UINT32 FieldDatumByteOffset);
310 UINT32 ByteGranularity,
311 UINT32 BufferOffset);
314AcpiExSetBufferDatum (
318 UINT32 ByteGranularity,
319 UINT32 BufferOffset);
322AcpiExReadDataFromField (
323 ACPI_WALK_STATE *WalkState,
324 ACPI_OPERAND_OBJECT *ObjDesc,
325 ACPI_OPERAND_OBJECT **RetBufferDesc);
328AcpiExWriteDataToField (
329 ACPI_OPERAND_OBJECT *SourceDesc,
330 ACPI_OPERAND_OBJECT *ObjDesc,
331 ACPI_OPERAND_OBJECT **ResultDesc);
338AcpiExExtractFromField (
339 ACPI_OPERAND_OBJECT *ObjDesc,
341 UINT32 BufferLength);
344AcpiExInsertIntoField (
345 ACPI_OPERAND_OBJECT *ObjDesc,
347 UINT32 BufferLength);
351 ACPI_OPERAND_OBJECT *ObjDesc,
352 UINT32 FieldDatumByteOffset,
361AcpiExGetObjectReference (
362 ACPI_OPERAND_OBJECT *ObjDesc,
363 ACPI_OPERAND_OBJECT **ReturnDesc,
364 ACPI_WALK_STATE *WalkState);
367AcpiExConcatTemplate (
368 ACPI_OPERAND_OBJECT *ObjDesc,
369 ACPI_OPERAND_OBJECT *ObjDesc2,
370 ACPI_OPERAND_OBJECT **ActualReturnDesc,
371 ACPI_WALK_STATE *WalkState);
375 ACPI_OPERAND_OBJECT *ObjDesc,
376 ACPI_OPERAND_OBJECT *ObjDesc2,
377 ACPI_OPERAND_OBJECT **ActualReturnDesc,
378 ACPI_WALK_STATE *WalkState);
381AcpiExDoLogicalNumericOp (
385 BOOLEAN *LogicalResult);
390 ACPI_OPERAND_OBJECT *Operand0,
391 ACPI_OPERAND_OBJECT *Operand1,
392 BOOLEAN *LogicalResult);
402 ACPI_WALK_STATE *WalkState);
405AcpiExCreateProcessor (
406 ACPI_WALK_STATE *WalkState);
409AcpiExCreatePowerResource (
410 ACPI_WALK_STATE *WalkState);
417 ACPI_WALK_STATE *WalkState);
421 ACPI_WALK_STATE *WalkState);
425 ACPI_WALK_STATE *WalkState);
431 ACPI_WALK_STATE *WalkState);
439 ACPI_OPERAND_OBJECT *ObjDesc,
440 ACPI_OPERAND_OBJECT *Target,
441 ACPI_WALK_STATE *WalkState);
445 ACPI_WALK_STATE *WalkState,
446 ACPI_OPERAND_OBJECT **ReturnDesc);
450 ACPI_OPERAND_OBJECT *DdbHandle);
458 ACPI_OPERAND_OBJECT *TimeDesc,
459 ACPI_OPERAND_OBJECT *ObjDesc,
460 ACPI_WALK_STATE *WalkState);
463AcpiExAcquireMutexObject (
465 ACPI_OPERAND_OBJECT *ObjDesc,
466 ACPI_THREAD_ID ThreadId);
470 ACPI_OPERAND_OBJECT *ObjDesc,
471 ACPI_WALK_STATE *WalkState);
474AcpiExReleaseMutexObject (
475 ACPI_OPERAND_OBJECT *ObjDesc);
478AcpiExReleaseAllMutexes (
479 ACPI_THREAD_STATE *Thread);
483 ACPI_OPERAND_OBJECT *ObjDesc);
490AcpiExPrepCommonFieldObject (
491 ACPI_OPERAND_OBJECT *ObjDesc,
493 UINT8 FieldAttribute,
494 UINT32 FieldBitPosition,
495 UINT32 FieldBitLength);
498AcpiExPrepFieldValue (
499 ACPI_CREATE_FIELD_INFO *Info);
507 ACPI_OPERAND_OBJECT *ObjDesc,
508 ACPI_OPERAND_OBJECT **ReturnBuffer);
511AcpiExWriteSerialBus (
512 ACPI_OPERAND_OBJECT *SourceDesc,
513 ACPI_OPERAND_OBJECT *ObjDesc,
514 ACPI_OPERAND_OBJECT **ReturnBuffer);
518 ACPI_OPERAND_OBJECT *ObjDesc,
523 ACPI_OPERAND_OBJECT *SourceDesc,
524 ACPI_OPERAND_OBJECT *ObjDesc,
525 ACPI_OPERAND_OBJECT **ReturnBuffer);
532AcpiExSystemDoNotifyOp (
533 ACPI_OPERAND_OBJECT *Value,
534 ACPI_OPERAND_OBJECT *ObjDesc);
545AcpiExSystemSignalEvent(
546 ACPI_OPERAND_OBJECT *ObjDesc);
549AcpiExSystemWaitEvent(
550 ACPI_OPERAND_OBJECT *Time,
551 ACPI_OPERAND_OBJECT *ObjDesc);
554AcpiExSystemResetEvent(
555 ACPI_OPERAND_OBJECT *ObjDesc);
558AcpiExSystemWaitSemaphore (
559 ACPI_SEMAPHORE Semaphore,
563AcpiExSystemWaitMutex (
571AcpiExOpcode_0A_0T_1R (
572 ACPI_WALK_STATE *WalkState);
575AcpiExOpcode_1A_0T_0R (
576 ACPI_WALK_STATE *WalkState);
579AcpiExOpcode_1A_0T_1R (
580 ACPI_WALK_STATE *WalkState);
583AcpiExOpcode_1A_1T_1R (
584 ACPI_WALK_STATE *WalkState);
587AcpiExOpcode_1A_1T_0R (
588 ACPI_WALK_STATE *WalkState);
594AcpiExOpcode_2A_0T_0R (
595 ACPI_WALK_STATE *WalkState);
598AcpiExOpcode_2A_0T_1R (
599 ACPI_WALK_STATE *WalkState);
602AcpiExOpcode_2A_1T_1R (
603 ACPI_WALK_STATE *WalkState);
606AcpiExOpcode_2A_2T_1R (
607 ACPI_WALK_STATE *WalkState);
614AcpiExOpcode_3A_0T_0R (
615 ACPI_WALK_STATE *WalkState);
618AcpiExOpcode_3A_1T_1R (
619 ACPI_WALK_STATE *WalkState);
626AcpiExOpcode_6A_0T_1R (
627 ACPI_WALK_STATE *WalkState);
634AcpiExResolveToValue (
635 ACPI_OPERAND_OBJECT **StackPtr,
636 ACPI_WALK_STATE *WalkState);
639AcpiExResolveMultiple (
640 ACPI_WALK_STATE *WalkState,
641 ACPI_OPERAND_OBJECT *Operand,
642 ACPI_OBJECT_TYPE *ReturnType,
643 ACPI_OPERAND_OBJECT **ReturnDesc);
650AcpiExResolveNodeToValue (
651 ACPI_NAMESPACE_NODE **StackPtr,
652 ACPI_WALK_STATE *WalkState);
659AcpiExResolveOperands (
661 ACPI_OPERAND_OBJECT **StackPtr,
662 ACPI_WALK_STATE *WalkState);
670 ACPI_OPERAND_OBJECT *ObjDesc,
675 ACPI_OPERAND_OBJECT **Operands,
676 const char *OpcodeName,
680AcpiExDumpObjectDescriptor (
681 ACPI_OPERAND_OBJECT *Object,
685AcpiExDumpNamespaceNode (
686 ACPI_NAMESPACE_NODE *Node,
695 ACPI_OBJECT_TYPE DataType,
697 char **OutNameString,
698 UINT32 *OutNameLength);
706 ACPI_OPERAND_OBJECT *ValDesc,
707 ACPI_OPERAND_OBJECT *DestDesc,
708 ACPI_WALK_STATE *WalkState);
711AcpiExStoreObjectToNode (
712 ACPI_OPERAND_OBJECT *SourceDesc,
713 ACPI_NAMESPACE_NODE *Node,
714 ACPI_WALK_STATE *WalkState,
715 UINT8 ImplicitConversion);
723 ACPI_OPERAND_OBJECT **SourceDescPtr,
724 ACPI_OBJECT_TYPE TargetType,
725 ACPI_WALK_STATE *WalkState);
728AcpiExStoreObjectToObject (
729 ACPI_OPERAND_OBJECT *SourceDesc,
730 ACPI_OPERAND_OBJECT *DestDesc,
731 ACPI_OPERAND_OBJECT **NewDesc,
732 ACPI_WALK_STATE *WalkState);
739AcpiExStoreBufferToBuffer (
740 ACPI_OPERAND_OBJECT *SourceDesc,
741 ACPI_OPERAND_OBJECT *TargetDesc);
744AcpiExStoreStringToString (
745 ACPI_OPERAND_OBJECT *SourceDesc,
746 ACPI_OPERAND_OBJECT *TargetDesc);
753AcpiExCopyIntegerToIndexField (
754 ACPI_OPERAND_OBJECT *SourceDesc,
755 ACPI_OPERAND_OBJECT *TargetDesc);
758AcpiExCopyIntegerToBankField (
759 ACPI_OPERAND_OBJECT *SourceDesc,
760 ACPI_OPERAND_OBJECT *TargetDesc);
763AcpiExCopyDataToNamedField (
764 ACPI_OPERAND_OBJECT *SourceDesc,
765 ACPI_NAMESPACE_NODE *Node);
768AcpiExCopyIntegerToBufferField (
769 ACPI_OPERAND_OBJECT *SourceDesc,
770 ACPI_OPERAND_OBJECT *TargetDesc);
777AcpiExEnterInterpreter (
781AcpiExExitInterpreter (
785AcpiExTruncateFor32bitTable (
786 ACPI_OPERAND_OBJECT *ObjDesc);
789AcpiExAcquireGlobalLock (
793AcpiExReleaseGlobalLock (
797AcpiExEisaIdToString (
799 UINT64 CompressedId);
802AcpiExIntegerToString (
807AcpiExPciClsToString (
820AcpiExSystemMemorySpaceHandler (
822 ACPI_PHYSICAL_ADDRESS Address,
825 void *HandlerContext,
826 void *RegionContext);
829AcpiExSystemIoSpaceHandler (
831 ACPI_PHYSICAL_ADDRESS Address,
834 void *HandlerContext,
835 void *RegionContext);
838AcpiExPciConfigSpaceHandler (
840 ACPI_PHYSICAL_ADDRESS Address,
843 void *HandlerContext,
844 void *RegionContext);
847AcpiExCmosSpaceHandler (
849 ACPI_PHYSICAL_ADDRESS Address,
852 void *HandlerContext,
853 void *RegionContext);
856AcpiExPciBarSpaceHandler (
858 ACPI_PHYSICAL_ADDRESS Address,
861 void *HandlerContext,
862 void *RegionContext);
865AcpiExEmbeddedControllerSpaceHandler (
867 ACPI_PHYSICAL_ADDRESS Address,
870 void *HandlerContext,
871 void *RegionContext);
874AcpiExSmBusSpaceHandler (
876 ACPI_PHYSICAL_ADDRESS Address,
879 void *HandlerContext,
880 void *RegionContext);
884AcpiExDataTableSpaceHandler (
886 ACPI_PHYSICAL_ADDRESS Address,
889 void *HandlerContext,
890 void *RegionContext);
Definition acinterp.h:177