ReactOS  0.4.14-dev-583-g2a1ba2c
acinterp.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2019, 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 {
72  const char *Name;
73 
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  */
107  ACPI_OPERAND_OBJECT *ObjDesc,
108  ACPI_OPERAND_OBJECT **ResultDesc,
109  UINT32 ImplicitConversion);
110 
113  ACPI_OPERAND_OBJECT *ObjDesc,
114  ACPI_OPERAND_OBJECT **ResultDesc);
115 
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 
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
142  ACPI_OPERAND_OBJECT *SourceDesc,
143  UINT32 Level,
144  UINT32 Index);
145 
146 void
148  ACPI_NAMESPACE_NODE *MethodNode,
149  ACPI_OPERAND_OBJECT *ObjDesc,
150  ACPI_WALK_STATE *WalkState);
151 
152 void
154  ACPI_NAMESPACE_NODE *MethodNode,
155  ACPI_OPERAND_OBJECT *ObjDesc,
156  ACPI_WALK_STATE *WalkState);
157 
158 void
160  ACPI_PARSE_OBJECT *Op,
161  ACPI_WALK_STATE *WalkState);
162 
163 void
165  ACPI_PARSE_OBJECT *Op,
166  ACPI_WALK_STATE *WalkState);
167 
168 void
171  BOOLEAN Begin,
172  UINT8 *Aml,
173  char *Pathname);
174 
175 
176 /*
177  * exfield - ACPI AML (p-code) execution - field manipulation
178  */
183 
186  ACPI_OPERAND_OBJECT *ObjDesc,
188  UINT32 *DatumCount);
189 
192  ACPI_OPERAND_OBJECT *ObjDesc,
193  UINT64 Mask,
194  UINT64 FieldValue,
195  UINT32 FieldDatumByteOffset);
196 
197 void
199  UINT64 *Datum,
200  void *Buffer,
202  UINT32 ByteGranularity,
203  UINT32 BufferOffset);
204 
205 void
207  UINT64 MergedDatum,
208  void *Buffer,
210  UINT32 ByteGranularity,
211  UINT32 BufferOffset);
212 
215  ACPI_WALK_STATE *WalkState,
216  ACPI_OPERAND_OBJECT *ObjDesc,
217  ACPI_OPERAND_OBJECT **RetBufferDesc);
218 
221  ACPI_OPERAND_OBJECT *SourceDesc,
222  ACPI_OPERAND_OBJECT *ObjDesc,
223  ACPI_OPERAND_OBJECT **ResultDesc);
224 
225 
226 /*
227  * exfldio - low level field I/O
228  */
231  ACPI_OPERAND_OBJECT *ObjDesc,
232  void *Buffer,
234 
237  ACPI_OPERAND_OBJECT *ObjDesc,
238  void *Buffer,
240 
243  ACPI_OPERAND_OBJECT *ObjDesc,
244  UINT32 FieldDatumByteOffset,
245  UINT64 *Value,
246  UINT32 ReadWrite);
247 
248 
249 /*
250  * exmisc - misc support routines
251  */
254  ACPI_OPERAND_OBJECT *ObjDesc,
255  ACPI_OPERAND_OBJECT **ReturnDesc,
256  ACPI_WALK_STATE *WalkState);
257 
260  ACPI_OPERAND_OBJECT *ObjDesc,
261  ACPI_OPERAND_OBJECT *ObjDesc2,
262  ACPI_OPERAND_OBJECT **ActualReturnDesc,
263  ACPI_WALK_STATE *WalkState);
264 
267  ACPI_OPERAND_OBJECT *ObjDesc,
268  ACPI_OPERAND_OBJECT *ObjDesc2,
269  ACPI_OPERAND_OBJECT **ActualReturnDesc,
270  ACPI_WALK_STATE *WalkState);
271 
274  UINT16 Opcode,
275  UINT64 Integer0,
276  UINT64 Integer1,
277  BOOLEAN *LogicalResult);
278 
281  UINT16 Opcode,
282  ACPI_OPERAND_OBJECT *Operand0,
283  ACPI_OPERAND_OBJECT *Operand1,
284  BOOLEAN *LogicalResult);
285 
286 UINT64
288  UINT16 Opcode,
289  UINT64 Operand0,
290  UINT64 Operand1);
291 
294  ACPI_WALK_STATE *WalkState);
295 
298  ACPI_WALK_STATE *WalkState);
299 
302  ACPI_WALK_STATE *WalkState);
303 
306  UINT8 *AmlStart,
307  UINT32 AmlLength,
308  UINT8 RegionSpace,
309  ACPI_WALK_STATE *WalkState);
310 
313  ACPI_WALK_STATE *WalkState);
314 
317  ACPI_WALK_STATE *WalkState);
318 
321  UINT8 *AmlStart,
322  UINT32 AmlLength,
323  ACPI_WALK_STATE *WalkState);
324 
325 
326 /*
327  * exconfig - dynamic table load/unload
328  */
330 AcpiExLoadOp (
331  ACPI_OPERAND_OBJECT *ObjDesc,
333  ACPI_WALK_STATE *WalkState);
334 
337  ACPI_WALK_STATE *WalkState,
338  ACPI_OPERAND_OBJECT **ReturnDesc);
339 
342  ACPI_OPERAND_OBJECT *DdbHandle);
343 
344 
345 /*
346  * exmutex - mutex support
347  */
350  ACPI_OPERAND_OBJECT *TimeDesc,
351  ACPI_OPERAND_OBJECT *ObjDesc,
352  ACPI_WALK_STATE *WalkState);
353 
356  UINT16 Timeout,
357  ACPI_OPERAND_OBJECT *ObjDesc,
358  ACPI_THREAD_ID ThreadId);
359 
362  ACPI_OPERAND_OBJECT *ObjDesc,
363  ACPI_WALK_STATE *WalkState);
364 
367  ACPI_OPERAND_OBJECT *ObjDesc);
368 
369 void
372 
373 void
375  ACPI_OPERAND_OBJECT *ObjDesc);
376 
377 
378 /*
379  * exprep - ACPI AML execution - prep utilities
380  */
383  ACPI_OPERAND_OBJECT *ObjDesc,
384  UINT8 FieldFlags,
385  UINT8 FieldAttribute,
386  UINT32 FieldBitPosition,
387  UINT32 FieldBitLength);
388 
392 
393 
394 /*
395  * exserial - FieldUnit support for serial address spaces
396  */
399  ACPI_OPERAND_OBJECT *ObjDesc,
400  ACPI_OPERAND_OBJECT **ReturnBuffer);
401 
404  ACPI_OPERAND_OBJECT *SourceDesc,
405  ACPI_OPERAND_OBJECT *ObjDesc,
406  ACPI_OPERAND_OBJECT **ReturnBuffer);
407 
410  ACPI_OPERAND_OBJECT *ObjDesc,
411  void *Buffer);
412 
415  ACPI_OPERAND_OBJECT *SourceDesc,
416  ACPI_OPERAND_OBJECT *ObjDesc,
417  ACPI_OPERAND_OBJECT **ReturnBuffer);
418 
419 
420 /*
421  * exsystem - Interface to OS services
422  */
426  ACPI_OPERAND_OBJECT *ObjDesc);
427 
430  UINT64 Time);
431 
434  UINT32 Time);
435 
438  ACPI_OPERAND_OBJECT *ObjDesc);
439 
443  ACPI_OPERAND_OBJECT *ObjDesc);
444 
447  ACPI_OPERAND_OBJECT *ObjDesc);
448 
451  ACPI_SEMAPHORE Semaphore,
452  UINT16 Timeout);
453 
457  UINT16 Timeout);
458 
459 /*
460  * exoparg1 - ACPI AML execution, 1 operand
461  */
464  ACPI_WALK_STATE *WalkState);
465 
468  ACPI_WALK_STATE *WalkState);
469 
472  ACPI_WALK_STATE *WalkState);
473 
476  ACPI_WALK_STATE *WalkState);
477 
480  ACPI_WALK_STATE *WalkState);
481 
482 /*
483  * exoparg2 - ACPI AML execution, 2 operands
484  */
487  ACPI_WALK_STATE *WalkState);
488 
491  ACPI_WALK_STATE *WalkState);
492 
495  ACPI_WALK_STATE *WalkState);
496 
499  ACPI_WALK_STATE *WalkState);
500 
501 
502 /*
503  * exoparg3 - ACPI AML execution, 3 operands
504  */
507  ACPI_WALK_STATE *WalkState);
508 
511  ACPI_WALK_STATE *WalkState);
512 
513 
514 /*
515  * exoparg6 - ACPI AML execution, 6 operands
516  */
519  ACPI_WALK_STATE *WalkState);
520 
521 
522 /*
523  * exresolv - Object resolution and get value functions
524  */
527  ACPI_OPERAND_OBJECT **StackPtr,
528  ACPI_WALK_STATE *WalkState);
529 
532  ACPI_WALK_STATE *WalkState,
533  ACPI_OPERAND_OBJECT *Operand,
534  ACPI_OBJECT_TYPE *ReturnType,
535  ACPI_OPERAND_OBJECT **ReturnDesc);
536 
537 
538 /*
539  * exresnte - resolve namespace node
540  */
543  ACPI_NAMESPACE_NODE **StackPtr,
544  ACPI_WALK_STATE *WalkState);
545 
546 
547 /*
548  * exresop - resolve operand to value
549  */
552  UINT16 Opcode,
553  ACPI_OPERAND_OBJECT **StackPtr,
554  ACPI_WALK_STATE *WalkState);
555 
556 
557 /*
558  * exdump - Interpreter debug output routines
559  */
560 void
562  ACPI_OPERAND_OBJECT *ObjDesc,
563  UINT32 Depth);
564 
565 void
567  ACPI_OPERAND_OBJECT **Operands,
568  const char *OpcodeName,
569  UINT32 NumOpcodes);
570 
571 void
574  UINT32 Flags);
575 
576 void
579  UINT32 Flags);
580 
581 
582 /*
583  * exnames - AML namestring support
584  */
588  UINT8 *InAmlAddress,
589  char **OutNameString,
590  UINT32 *OutNameLength);
591 
592 
593 /*
594  * exstore - Object store support
595  */
597 AcpiExStore (
598  ACPI_OPERAND_OBJECT *ValDesc,
599  ACPI_OPERAND_OBJECT *DestDesc,
600  ACPI_WALK_STATE *WalkState);
601 
604  ACPI_OPERAND_OBJECT *SourceDesc,
606  ACPI_WALK_STATE *WalkState,
607  UINT8 ImplicitConversion);
608 
609 
610 /*
611  * exstoren - resolve/store object
612  */
615  ACPI_OPERAND_OBJECT **SourceDescPtr,
616  ACPI_OBJECT_TYPE TargetType,
617  ACPI_WALK_STATE *WalkState);
618 
621  ACPI_OPERAND_OBJECT *SourceDesc,
622  ACPI_OPERAND_OBJECT *DestDesc,
623  ACPI_OPERAND_OBJECT **NewDesc,
624  ACPI_WALK_STATE *WalkState);
625 
626 
627 /*
628  * exstorob - store object - buffer/string
629  */
632  ACPI_OPERAND_OBJECT *SourceDesc,
633  ACPI_OPERAND_OBJECT *TargetDesc);
634 
637  ACPI_OPERAND_OBJECT *SourceDesc,
638  ACPI_OPERAND_OBJECT *TargetDesc);
639 
640 
641 /*
642  * excopy - object copy
643  */
646  ACPI_OPERAND_OBJECT *SourceDesc,
647  ACPI_OPERAND_OBJECT *TargetDesc);
648 
651  ACPI_OPERAND_OBJECT *SourceDesc,
652  ACPI_OPERAND_OBJECT *TargetDesc);
653 
656  ACPI_OPERAND_OBJECT *SourceDesc,
658 
661  ACPI_OPERAND_OBJECT *SourceDesc,
662  ACPI_OPERAND_OBJECT *TargetDesc);
663 
664 
665 /*
666  * exutils - interpreter/scanner utilities
667  */
668 void
670  void);
671 
672 void
674  void);
675 
676 BOOLEAN
678  ACPI_OPERAND_OBJECT *ObjDesc);
679 
680 void
682  UINT32 Rule);
683 
684 void
686  UINT32 Rule);
687 
688 void
690  char *Dest,
691  UINT64 CompressedId);
692 
693 void
695  char *Dest,
696  UINT64 Value);
697 
698 void
700  char *Dest,
701  UINT8 ClassCode[3]);
702 
703 BOOLEAN
705  UINT8 SpaceId);
706 
707 
708 /*
709  * exregion - default OpRegion handlers
710  */
714  ACPI_PHYSICAL_ADDRESS Address,
715  UINT32 BitWidth,
716  UINT64 *Value,
717  void *HandlerContext,
718  void *RegionContext);
719 
723  ACPI_PHYSICAL_ADDRESS Address,
724  UINT32 BitWidth,
725  UINT64 *Value,
726  void *HandlerContext,
727  void *RegionContext);
728 
732  ACPI_PHYSICAL_ADDRESS Address,
733  UINT32 BitWidth,
734  UINT64 *Value,
735  void *HandlerContext,
736  void *RegionContext);
737 
741  ACPI_PHYSICAL_ADDRESS Address,
742  UINT32 BitWidth,
743  UINT64 *Value,
744  void *HandlerContext,
745  void *RegionContext);
746 
750  ACPI_PHYSICAL_ADDRESS Address,
751  UINT32 BitWidth,
752  UINT64 *Value,
753  void *HandlerContext,
754  void *RegionContext);
755 
759  ACPI_PHYSICAL_ADDRESS Address,
760  UINT32 BitWidth,
761  UINT64 *Value,
762  void *HandlerContext,
763  void *RegionContext);
764 
768  ACPI_PHYSICAL_ADDRESS Address,
769  UINT32 BitWidth,
770  UINT64 *Value,
771  void *HandlerContext,
772  void *RegionContext);
773 
774 
778  ACPI_PHYSICAL_ADDRESS Address,
779  UINT32 BitWidth,
780  UINT64 *Value,
781  void *HandlerContext,
782  void *RegionContext);
783 
784 #endif /* __INTERP_H__ */
ACPI_STATUS AcpiExResolveObject(ACPI_OPERAND_OBJECT **SourceDescPtr, ACPI_OBJECT_TYPE TargetType, ACPI_WALK_STATE *WalkState)
Definition: exstoren.c:71
ACPI_STATUS AcpiExGetObjectReference(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ReturnDesc, ACPI_WALK_STATE *WalkState)
Definition: exmisc.c:70
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2343
void AcpiExStartTraceOpcode(ACPI_PARSE_OBJECT *Op, ACPI_WALK_STATE *WalkState)
Definition: extrace.c:353
ACPI_STATUS AcpiExConvertToString(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ResultDesc, UINT32 Type)
Definition: exconvrt.c:440
void AcpiExStopTraceMethod(ACPI_NAMESPACE_NODE *MethodNode, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_WALK_STATE *WalkState)
Definition: extrace.c:290
ACPI_STATUS AcpiExReleaseMutex(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_WALK_STATE *WalkState)
Definition: exmutex.c:408
ACPI_STATUS AcpiExCreateRegion(UINT8 *AmlStart, UINT32 AmlLength, UINT8 RegionSpace, ACPI_WALK_STATE *WalkState)
Definition: excreate.c:268
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:39
ACPI_STATUS AcpiExConvertToBuffer(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ResultDesc)
Definition: exconvrt.c:224
const char * Name
Definition: acinterp.h:72
ACPI_STATUS AcpiExStoreObjectToObject(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *DestDesc, ACPI_OPERAND_OBJECT **NewDesc, ACPI_WALK_STATE *WalkState)
Definition: exstoren.c:199
ACPI_STATUS AcpiExCommonBufferSetup(ACPI_OPERAND_OBJECT *ObjDesc, UINT32 BufferLength, UINT32 *DatumCount)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION _In_ ULONG _In_ SIZE_T _In_ ULONG _In_ USHORT Depth
Definition: exfuncs.h:656
ACPI_STATUS AcpiExAcquireMutex(ACPI_OPERAND_OBJECT *TimeDesc, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_WALK_STATE *WalkState)
Definition: exmutex.c:248
BOOLEAN AcpiExTruncateFor32bitTable(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: exutils.c:177
_In_ PVOID _In_ ULONG Opcode
Definition: hubbusif.h:330
Type
Definition: Type.h:6
ACPI_STATUS AcpiExOpcode_2A_2T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg2.c:169
ACPI_STATUS AcpiExStoreObjectToNode(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_NAMESPACE_NODE *Node, ACPI_WALK_STATE *WalkState, UINT8 ImplicitConversion)
Definition: exstore.c:412
ACPI_STATUS AcpiExSystemWaitEvent(ACPI_OPERAND_OBJECT *Time, ACPI_OPERAND_OBJECT *ObjDesc)
Definition: exsystem.c:294
ACPI_STATUS AcpiExOpcode_1A_0T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg1.c:624
ACPI_STATUS AcpiExDoLogicalNumericOp(UINT16 Opcode, UINT64 Integer0, UINT64 Integer1, BOOLEAN *LogicalResult)
Definition: exmisc.c:262
ACPI_STATUS AcpiExCreatePowerResource(ACPI_WALK_STATE *WalkState)
Definition: excreate.c:432
ACPI_STATUS AcpiExOpcode_1A_1T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg1.c:281
void AcpiExDumpObjectDescriptor(ACPI_OPERAND_OBJECT *Object, UINT32 Flags)
ACPI_STATUS AcpiExCopyIntegerToBufferField(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *TargetDesc)
ACPI_STATUS AcpiExGetNameString(ACPI_OBJECT_TYPE DataType, UINT8 *InAmlAddress, char **OutNameString, UINT32 *OutNameLength)
Definition: exnames.c:278
ACPI_STATUS AcpiExCopyIntegerToBankField(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *TargetDesc)
void AcpiExStartTraceMethod(ACPI_NAMESPACE_NODE *MethodNode, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_WALK_STATE *WalkState)
Definition: extrace.c:224
ACPI_STATUS AcpiExResolveOperands(UINT16 Opcode, ACPI_OPERAND_OBJECT **StackPtr, ACPI_WALK_STATE *WalkState)
Definition: exresop.c:145
ACPI_STATUS AcpiExStoreStringToString(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *TargetDesc)
Definition: exstorob.c:172
void AcpiExStopTraceOpcode(ACPI_PARSE_OBJECT *Op, ACPI_WALK_STATE *WalkState)
Definition: extrace.c:385
ACPI_STATUS AcpiExConvertToTargetType(ACPI_OBJECT_TYPE DestinationType, ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT **ResultDesc, ACPI_WALK_STATE *WalkState)
Definition: exconvrt.c:654
#define ACPI_SEMAPHORE
Definition: actypes.h:287
ACPI_STATUS AcpiExOpcode_1A_0T_0R(ACPI_WALK_STATE *WalkState)
Definition: exoparg1.c:161
ACPI_STATUS AcpiExPciBarSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: exregion.c:506
ACPI_STATUS AcpiExCopyDataToNamedField(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_NAMESPACE_NODE *Node)
ACPI_STATUS AcpiExDoLogicalOp(UINT16 Opcode, ACPI_OPERAND_OBJECT *Operand0, ACPI_OPERAND_OBJECT *Operand1, BOOLEAN *LogicalResult)
Definition: exmisc.c:335
ACPI_STATUS AcpiExConcatTemplate(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT *ObjDesc2, ACPI_OPERAND_OBJECT **ActualReturnDesc, ACPI_WALK_STATE *WalkState)
Definition: exconcat.c:388
void AcpiExIntegerToString(char *Dest, UINT64 Value)
Definition: exutils.c:421
ACPI_STATUS AcpiExResolveMultiple(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT *Operand, ACPI_OBJECT_TYPE *ReturnType, ACPI_OPERAND_OBJECT **ReturnDesc)
Definition: exresolv.c:350
ACPI_STATUS AcpiExWriteSerialBus(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ReturnBuffer)
Definition: exserial.c:291
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
ACPI_STATUS AcpiExOpcode_3A_0T_0R(ACPI_WALK_STATE *WalkState)
Definition: exoparg3.c:91
UINT32 ACPI_STATUS
Definition: actypes.h:460
ACPI_STATUS AcpiExCopyIntegerToIndexField(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *TargetDesc)
ACPI_STATUS AcpiExAccessRegion(ACPI_OPERAND_OBJECT *ObjDesc, UINT32 FieldDatumByteOffset, UINT64 *Value, UINT32 ReadWrite)
Definition: exfldio.c:249
ACPI_STATUS AcpiExSystemDoSleep(UINT64 Time)
Definition: exsystem.c:218
ACPI_STATUS AcpiExEmbeddedControllerSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: Mutex.h:15
struct TraceInfo Info
ACPI_STATUS AcpiExOpcode_2A_1T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg2.c:279
ACPI_STATUS AcpiExOpcode_3A_1T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg3.c:173
void AcpiExUnlinkMutex(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: exmutex.c:73
void AcpiExEisaIdToString(char *Dest, UINT64 CompressedId)
Definition: exutils.c:366
void AcpiExReleaseAllMutexes(ACPI_THREAD_STATE *Thread)
Definition: exmutex.c:536
ACPI_STATUS AcpiExReadSerialBus(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ReturnBuffer)
Definition: exserial.c:182
void AcpiExAcquireGlobalLock(UINT32 Rule)
Definition: exutils.c:225
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 ACPI_GPE_HANDLER void *Context UINT32 ACPI_NOTIFY_HANDLER void *Context ACPI_ADR_SPACE_TYPE SpaceId
Definition: acpixf.h:828
const struct acpi_exdump_info ACPI_EXDUMP_INFO
static LPOVERLAPPED_COMPLETION_ROUTINE Function
Definition: sync.c:684
unsigned int UINT32
BOOLEAN AcpiIsValidSpaceId(UINT8 SpaceId)
Definition: exutils.c:494
_In_ ULONG BufferLength
Definition: usbdlib.h:225
void AcpiExPciClsToString(char *Dest, UINT8 ClassCode[3])
Definition: exutils.c:461
ACPI_STATUS AcpiExSystemWaitMutex(ACPI_MUTEX Mutex, UINT16 Timeout)
Definition: exsystem.c:120
void AcpiExDumpOperand(ACPI_OPERAND_OBJECT *ObjDesc, UINT32 Depth)
unsigned char BOOLEAN
ACPI_STATUS AcpiExAcquireMutexObject(UINT16 Timeout, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_THREAD_ID ThreadId)
Definition: exmutex.c:176
void AcpiExDoDebugObject(ACPI_OPERAND_OBJECT *SourceDesc, UINT32 Level, UINT32 Index)
Definition: exdebug.c:77
ACPI_STATUS AcpiExPciConfigSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: exregion.c:388
static WCHAR Address[46]
Definition: ping.c:68
ACPI_STATUS AcpiExReadDataFromField(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **RetBufferDesc)
Definition: exfield.c:146
ACPI_STATUS AcpiExCreateAlias(ACPI_WALK_STATE *WalkState)
Definition: excreate.c:68
UINT32 ACPI_OBJECT_TYPE
Definition: actypes.h:676
Definition: bufpool.h:45
ACPI_STATUS AcpiExDataTableSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: exregion.c:543
UINT64 AcpiExDoMathOp(UINT16 Opcode, UINT64 Operand0, UINT64 Operand1)
Definition: exmisc.c:167
ACPI_STATUS AcpiExCreateEvent(ACPI_WALK_STATE *WalkState)
Definition: excreate.c:147
ACPI_STATUS AcpiExOpcode_2A_0T_0R(ACPI_WALK_STATE *WalkState)
Definition: exoparg2.c:95
ACPI_TRACE_EVENT_TYPE
Definition: actypes.h:1373
ACPI_STATUS AcpiExStore(ACPI_OPERAND_OBJECT *ValDesc, ACPI_OPERAND_OBJECT *DestDesc, ACPI_WALK_STATE *WalkState)
Definition: exstore.c:91
ACPI_STATUS AcpiExReadGpio(ACPI_OPERAND_OBJECT *ObjDesc, void *Buffer)
Definition: exserial.c:70
void AcpiExReleaseGlobalLock(UINT32 Rule)
Definition: exutils.c:270
ACPI_STATUS AcpiExGetProtocolBufferLength(UINT32 ProtocolId, UINT32 *ReturnLength)
Definition: exfield.c:111
ACPI_STATUS AcpiExCreateMutex(ACPI_WALK_STATE *WalkState)
Definition: excreate.c:206
ACPI_STATUS AcpiExExtractFromField(ACPI_OPERAND_OBJECT *ObjDesc, void *Buffer, UINT32 BufferLength)
Definition: exfldio.c:723
static const UCHAR Index[8]
Definition: usbohci.c:18
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
ACPI_STATUS AcpiExWriteWithUpdateRule(ACPI_OPERAND_OBJECT *ObjDesc, UINT64 Mask, UINT64 FieldValue, UINT32 FieldDatumByteOffset)
Definition: exfldio.c:617
void AcpiExExitInterpreter(void)
Definition: exutils.c:139
_Must_inspect_result_ typedef _In_ ULONG _In_ BOOLEAN Target
Definition: iotypes.h:1068
ACPI_STATUS AcpiExOpcode_2A_0T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg2.c:540
ACPI_STATUS AcpiExCreateProcessor(ACPI_WALK_STATE *WalkState)
Definition: excreate.c:380
static IUnknown Object
Definition: main.c:512
_In_ UINT ProtocolId
Definition: ndis.h:2924
ACPI_STATUS AcpiExSystemMemorySpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: exregion.c:72
ACPI_STATUS AcpiExSystemDoNotifyOp(ACPI_OPERAND_OBJECT *Value, ACPI_OPERAND_OBJECT *ObjDesc)
ACPI_STATUS AcpiExOpcode_0A_0T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg1.c:92
ACPI_STATUS AcpiExSystemResetEvent(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: exsystem.c:327
ACPI_STATUS AcpiExWriteDataToField(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ResultDesc)
Definition: exfield.c:309
ACPI_STATUS AcpiExSystemDoStall(UINT32 Time)
Definition: exsystem.c:174
ACPI_STATUS AcpiExSystemIoSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: exregion.c:323
ACPI_STATUS AcpiExConvertToInteger(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ResultDesc, UINT32 ImplicitConversion)
Definition: exconvrt.c:79
void AcpiExSetBufferDatum(UINT64 MergedDatum, void *Buffer, UINT32 BufferLength, UINT32 ByteGranularity, UINT32 BufferOffset)
void AcpiExEnterInterpreter(void)
Definition: exutils.c:91
ACPI_STATUS AcpiExStoreBufferToBuffer(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *TargetDesc)
Definition: exstorob.c:67
ACPI_STATUS AcpiExSystemWaitSemaphore(ACPI_SEMAPHORE Semaphore, UINT16 Timeout)
Definition: exsystem.c:68
static ULONG Timeout
Definition: ping.c:61
void AcpiExTracePoint(ACPI_TRACE_EVENT_TYPE Type, BOOLEAN Begin, UINT8 *Aml, char *Pathname)
Definition: extrace.c:181
ACPI_STATUS AcpiExResolveNodeToValue(ACPI_NAMESPACE_NODE **StackPtr, ACPI_WALK_STATE *WalkState)
Definition: exresnte.c:82
ACPI_STATUS AcpiExDoConcatenate(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT *ObjDesc2, ACPI_OPERAND_OBJECT **ActualReturnDesc, ACPI_WALK_STATE *WalkState)
Definition: exconcat.c:85
ACPI_STATUS AcpiExResolveToValue(ACPI_OPERAND_OBJECT **StackPtr, ACPI_WALK_STATE *WalkState)
Definition: exresolv.c:79
ACPI_STATUS AcpiExSystemSignalEvent(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: exsystem.c:260
ACPI_STATUS AcpiExCmosSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
Definition: exregion.c:469
unsigned short UINT16
void AcpiExDumpOperands(ACPI_OPERAND_OBJECT **Operands, const char *OpcodeName, UINT32 NumOpcodes)
ACPI_STATUS AcpiExOpcode_1A_1T_0R(ACPI_WALK_STATE *WalkState)
Definition: exoparg1.c:232
ACPI_STATUS AcpiExCreateMethod(UINT8 *AmlStart, UINT32 AmlLength, ACPI_WALK_STATE *WalkState)
Definition: excreate.c:483
ACPI_STATUS AcpiExLoadOp(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT *Target, ACPI_WALK_STATE *WalkState)
Definition: exconfig.c:333
ACPI_STATUS AcpiExUnloadTable(ACPI_OPERAND_OBJECT *DdbHandle)
Definition: exconfig.c:554
ACPI_STATUS AcpiExLoadTableOp(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT **ReturnDesc)
Definition: exconfig.c:129
ACPI_STATUS AcpiExPrepCommonFieldObject(ACPI_OPERAND_OBJECT *ObjDesc, UINT8 FieldFlags, UINT8 FieldAttribute, UINT32 FieldBitPosition, UINT32 FieldBitLength)
Definition: exprep.c:347
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 const char BOOLEAN Begin
Definition: acpixf.h:1293
#define ACPI_MUTEX
Definition: actypes.h:273
DRIVER_DISPATCH ReadWrite
Definition: readwrite.h:29
ACPI_STATUS AcpiExOpcode_6A_0T_1R(ACPI_WALK_STATE *WalkState)
Definition: exoparg6.c:221
unsigned long long UINT64
_In_ ULONG DataType
Definition: iotypes.h:788
unsigned char UINT8
ACPI_STATUS AcpiExReleaseMutexObject(ACPI_OPERAND_OBJECT *ObjDesc)
Definition: exmutex.c:344
#define ACPI_THREAD_ID
Definition: actypes.h:144
ACPI_STATUS AcpiExPrepFieldValue(ACPI_CREATE_FIELD_INFO *Info)
Definition: exprep.c:438
static PLARGE_INTEGER Time
Definition: time.c:105
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 const char BOOLEAN UINT8 * Aml
Definition: acpixf.h:1293
ACPI_STATUS AcpiExWriteGpio(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ReturnBuffer)
Definition: exserial.c:121
ACPI_STATUS AcpiExInsertIntoField(ACPI_OPERAND_OBJECT *ObjDesc, void *Buffer, UINT32 BufferLength)
Definition: exfldio.c:883
ACPI_STATUS AcpiExSmBusSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext)
void AcpiExDumpNamespaceNode(ACPI_NAMESPACE_NODE *Node, UINT32 Flags)
Definition: dlist.c:348
void AcpiExGetBufferDatum(UINT64 *Datum, void *Buffer, UINT32 BufferLength, UINT32 ByteGranularity, UINT32 BufferOffset)
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING Pathname
Definition: acpixf.h:700