Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/acpica/compiler/aslcompiler.h
48371 views
1
/******************************************************************************
2
*
3
* Module Name: aslcompiler.h - common include file for iASL
4
*
5
*****************************************************************************/
6
7
/******************************************************************************
8
*
9
* 1. Copyright Notice
10
*
11
* Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
12
* All rights reserved.
13
*
14
* 2. License
15
*
16
* 2.1. This is your license from Intel Corp. under its intellectual property
17
* rights. You may have additional license terms from the party that provided
18
* you this software, covering your right to use that party's intellectual
19
* property rights.
20
*
21
* 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22
* copy of the source code appearing in this file ("Covered Code") an
23
* irrevocable, perpetual, worldwide license under Intel's copyrights in the
24
* base code distributed originally by Intel ("Original Intel Code") to copy,
25
* make derivatives, distribute, use and display any portion of the Covered
26
* Code in any form, with the right to sublicense such rights; and
27
*
28
* 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29
* license (with the right to sublicense), under only those claims of Intel
30
* patents that are infringed by the Original Intel Code, to make, use, sell,
31
* offer to sell, and import the Covered Code and derivative works thereof
32
* solely to the minimum extent necessary to exercise the above copyright
33
* license, and in no event shall the patent license extend to any additions
34
* to or modifications of the Original Intel Code. No other license or right
35
* is granted directly or by implication, estoppel or otherwise;
36
*
37
* The above copyright and patent license is granted only if the following
38
* conditions are met:
39
*
40
* 3. Conditions
41
*
42
* 3.1. Redistribution of Source with Rights to Further Distribute Source.
43
* Redistribution of source code of any substantial portion of the Covered
44
* Code or modification with rights to further distribute source must include
45
* the above Copyright Notice, the above License, this list of Conditions,
46
* and the following Disclaimer and Export Compliance provision. In addition,
47
* Licensee must cause all Covered Code to which Licensee contributes to
48
* contain a file documenting the changes Licensee made to create that Covered
49
* Code and the date of any change. Licensee must include in that file the
50
* documentation of any changes made by any predecessor Licensee. Licensee
51
* must include a prominent statement that the modification is derived,
52
* directly or indirectly, from Original Intel Code.
53
*
54
* 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55
* Redistribution of source code of any substantial portion of the Covered
56
* Code or modification without rights to further distribute source must
57
* include the following Disclaimer and Export Compliance provision in the
58
* documentation and/or other materials provided with distribution. In
59
* addition, Licensee may not authorize further sublicense of source of any
60
* portion of the Covered Code, and must include terms to the effect that the
61
* license from Licensee to its licensee is limited to the intellectual
62
* property embodied in the software Licensee provides to its licensee, and
63
* not to intellectual property embodied in modifications its licensee may
64
* make.
65
*
66
* 3.3. Redistribution of Executable. Redistribution in executable form of any
67
* substantial portion of the Covered Code or modification must reproduce the
68
* above Copyright Notice, and the following Disclaimer and Export Compliance
69
* provision in the documentation and/or other materials provided with the
70
* distribution.
71
*
72
* 3.4. Intel retains all right, title, and interest in and to the Original
73
* Intel Code.
74
*
75
* 3.5. Neither the name Intel nor any other trademark owned or controlled by
76
* Intel shall be used in advertising or otherwise to promote the sale, use or
77
* other dealings in products derived from or relating to the Covered Code
78
* without prior written authorization from Intel.
79
*
80
* 4. Disclaimer and Export Compliance
81
*
82
* 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83
* HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84
* IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85
* INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86
* UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87
* IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88
* PARTICULAR PURPOSE.
89
*
90
* 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91
* OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92
* COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93
* SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94
* CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95
* HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96
* SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97
* LIMITED REMEDY.
98
*
99
* 4.3. Licensee shall not export, either directly or indirectly, any of this
100
* software or system incorporating such software without first obtaining any
101
* required license or other approval from the U. S. Department of Commerce or
102
* any other agency or department of the United States Government. In the
103
* event Licensee exports any such software from the United States or
104
* re-exports any such software from a foreign destination, Licensee shall
105
* ensure that the distribution and export/re-export of the software is in
106
* compliance with all laws, regulations, orders, or other restrictions of the
107
* U.S. Export Administration Regulations. Licensee agrees that neither it nor
108
* any of its subsidiaries will export/re-export any technical data, process,
109
* software, or service, directly or indirectly, to any country for which the
110
* United States government or any agency thereof requires an export license,
111
* other governmental approval, or letter of assurance, without first obtaining
112
* such license, approval or letter.
113
*
114
*****************************************************************************
115
*
116
* Alternatively, you may choose to be licensed under the terms of the
117
* following license:
118
*
119
* Redistribution and use in source and binary forms, with or without
120
* modification, are permitted provided that the following conditions
121
* are met:
122
* 1. Redistributions of source code must retain the above copyright
123
* notice, this list of conditions, and the following disclaimer,
124
* without modification.
125
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
126
* substantially similar to the "NO WARRANTY" disclaimer below
127
* ("Disclaimer") and any redistribution must be conditioned upon
128
* including a substantially similar Disclaimer requirement for further
129
* binary redistribution.
130
* 3. Neither the names of the above-listed copyright holders nor the names
131
* of any contributors may be used to endorse or promote products derived
132
* from this software without specific prior written permission.
133
*
134
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145
*
146
* Alternatively, you may choose to be licensed under the terms of the
147
* GNU General Public License ("GPL") version 2 as published by the Free
148
* Software Foundation.
149
*
150
*****************************************************************************/
151
152
#ifndef __ASLCOMPILER_H
153
#define __ASLCOMPILER_H
154
155
#include <contrib/dev/acpica/include/acpi.h>
156
#include <contrib/dev/acpica/include/accommon.h>
157
#include <contrib/dev/acpica/include/amlresrc.h>
158
#include <contrib/dev/acpica/include/acdebug.h>
159
160
/* Microsoft-specific */
161
162
#if (defined WIN32 || defined WIN64)
163
164
/* warn : used #pragma pack */
165
#pragma warning(disable:4103)
166
167
/* warn : named type definition in parentheses */
168
#pragma warning(disable:4115)
169
#endif
170
171
#include <stdio.h>
172
#include <stdlib.h>
173
#include <string.h>
174
#include <errno.h>
175
#include <ctype.h>
176
177
/* Compiler headers */
178
179
#include <contrib/dev/acpica/compiler/asldefine.h>
180
#include <contrib/dev/acpica/compiler/asltypes.h>
181
#include <contrib/dev/acpica/compiler/aslmessages.h>
182
#include <contrib/dev/acpica/compiler/aslglobal.h>
183
#include <contrib/dev/acpica/compiler/preprocess.h>
184
#include <contrib/dev/acpica/compiler/dtcompiler.h>
185
186
187
/*******************************************************************************
188
*
189
* Compiler prototypes
190
*
191
******************************************************************************/
192
193
/*
194
* Main ASL parser - generated from flex/bison, lex/yacc, etc.
195
*/
196
ACPI_PARSE_OBJECT *
197
AslDoError (
198
void);
199
200
int
201
AslCompilerlex(
202
void);
203
204
void
205
AslResetCurrentLineBuffer (
206
void);
207
208
void
209
AslInsertLineBuffer (
210
int SourceChar);
211
212
int
213
AslPopInputFileStack (
214
void);
215
216
void
217
AslPushInputFileStack (
218
FILE *InputFile,
219
char *Filename);
220
221
void
222
AslParserCleanup (
223
void);
224
225
226
/*
227
* aslstartup - entered from main()
228
*/
229
void
230
AslInitializeGlobals (
231
void);
232
233
typedef
234
ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
235
char *);
236
237
ACPI_STATUS
238
AslDoOneFile (
239
char *Filename);
240
241
ACPI_STATUS
242
AslCheckForErrorExit (
243
void);
244
245
246
/*
247
* aslcompile - compile mainline
248
*/
249
void
250
AslCompilerSignon (
251
UINT32 FileId);
252
253
void
254
AslCompilerFileHeader (
255
UINT32 FileId);
256
257
ACPI_STATUS
258
CmDoCompile (
259
void);
260
261
int
262
CmDoAslMiddleAndBackEnd (
263
void);
264
265
void
266
CmDoOutputFiles (
267
void);
268
269
int
270
CmCleanupAndExit (
271
void);
272
273
ACPI_STATUS
274
AslDoDisassembly (
275
void);
276
277
278
/*
279
* aslallocate - memory allocation
280
*/
281
void *
282
UtLocalCalloc (
283
UINT32 Size);
284
285
void
286
UtExpandLineBuffers (
287
void);
288
289
void
290
UtReallocLineBuffers (
291
char **Buffer,
292
UINT32 OldSize,
293
UINT32 NewSize);
294
295
void
296
UtFreeLineBuffers (
297
void);
298
299
300
/*
301
* aslcache - local cache support
302
*/
303
char *
304
UtLocalCacheCalloc (
305
UINT32 Length);
306
307
ACPI_PARSE_OBJECT *
308
UtParseOpCacheCalloc (
309
void);
310
311
DT_SUBTABLE *
312
UtSubtableCacheCalloc (
313
void);
314
315
DT_FIELD *
316
UtFieldCacheCalloc (
317
void);
318
319
void
320
UtDeleteLocalCaches (
321
void);
322
323
324
/*
325
* aslascii - ascii support
326
*/
327
ACPI_STATUS
328
FlIsFileAsciiSource (
329
char *Filename,
330
BOOLEAN DisplayErrors);
331
332
333
/*
334
* aslwalks - semantic analysis and parse tree walks
335
*/
336
ACPI_STATUS
337
AnOtherSemanticAnalysisWalkBegin (
338
ACPI_PARSE_OBJECT *Op,
339
UINT32 Level,
340
void *Context);
341
342
ACPI_STATUS
343
AnOtherSemanticAnalysisWalkEnd (
344
ACPI_PARSE_OBJECT *Op,
345
UINT32 Level,
346
void *Context);
347
348
ACPI_STATUS
349
AnOperandTypecheckWalkEnd (
350
ACPI_PARSE_OBJECT *Op,
351
UINT32 Level,
352
void *Context);
353
354
ACPI_STATUS
355
AnMethodTypingWalkEnd (
356
ACPI_PARSE_OBJECT *Op,
357
UINT32 Level,
358
void *Context);
359
360
361
/*
362
* aslmethod - Control method analysis walk
363
*/
364
ACPI_STATUS
365
MtMethodAnalysisWalkBegin (
366
ACPI_PARSE_OBJECT *Op,
367
UINT32 Level,
368
void *Context);
369
370
ACPI_STATUS
371
MtMethodAnalysisWalkEnd (
372
ACPI_PARSE_OBJECT *Op,
373
UINT32 Level,
374
void *Context);
375
376
UINT32
377
MtProcessTypeOp (
378
ACPI_PARSE_OBJECT *TypeOp);
379
380
UINT8
381
MtProcessParameterTypeList (
382
ACPI_PARSE_OBJECT *ParamTypeOp,
383
UINT32 *TypeList);
384
385
386
/*
387
* aslbtypes - bitfield data types
388
*/
389
UINT32
390
AnMapObjTypeToBtype (
391
ACPI_PARSE_OBJECT *Op);
392
393
UINT32
394
AnMapArgTypeToBtype (
395
UINT32 ArgType);
396
397
UINT32
398
AnGetBtype (
399
ACPI_PARSE_OBJECT *Op);
400
401
void
402
AnFormatBtype (
403
char *Buffer,
404
UINT32 Btype);
405
406
407
/*
408
* aslanalyze - Support functions for parse tree walks
409
*/
410
void
411
AnCheckId (
412
ACPI_PARSE_OBJECT *Op,
413
ACPI_NAME Type);
414
415
/* Values for Type argument above */
416
417
#define ASL_TYPE_HID 0
418
#define ASL_TYPE_CID 1
419
420
BOOLEAN
421
AnIsInternalMethod (
422
ACPI_PARSE_OBJECT *Op);
423
424
UINT32
425
AnGetInternalMethodReturnType (
426
ACPI_PARSE_OBJECT *Op);
427
428
BOOLEAN
429
AnLastStatementIsReturn (
430
ACPI_PARSE_OBJECT *Op);
431
432
void
433
AnCheckMethodReturnValue (
434
ACPI_PARSE_OBJECT *Op,
435
const ACPI_OPCODE_INFO *OpInfo,
436
ACPI_PARSE_OBJECT *ArgOp,
437
UINT32 RequiredBtypes,
438
UINT32 ThisNodeBtype);
439
440
BOOLEAN
441
AnIsResultUsed (
442
ACPI_PARSE_OBJECT *Op);
443
444
void
445
ApCheckForGpeNameConflict (
446
ACPI_PARSE_OBJECT *Op);
447
448
void
449
ApCheckRegMethod (
450
ACPI_PARSE_OBJECT *Op);
451
452
BOOLEAN
453
ApFindNameInScope (
454
char *Name,
455
ACPI_PARSE_OBJECT *Op);
456
457
BOOLEAN
458
ApFindNameInDeviceTree (
459
char *Name,
460
ACPI_PARSE_OBJECT *Op);
461
462
/*
463
* aslerror - error handling/reporting
464
*/
465
void
466
AslAbort (
467
void);
468
469
void
470
AslDualParseOpError (
471
UINT8 Level,
472
UINT16 MainMessageId,
473
ACPI_PARSE_OBJECT *MainOp,
474
char *MainMessage,
475
UINT16 SecondMessageId,
476
ACPI_PARSE_OBJECT *SecondOp,
477
char *SecondaryMessage);
478
479
void
480
AslError (
481
UINT8 Level,
482
UINT16 MessageId,
483
ACPI_PARSE_OBJECT *Op,
484
char *ExtraMessage);
485
486
void
487
AslCheckExpectedExceptions (
488
void);
489
490
ACPI_STATUS
491
AslLogExpectedException (
492
char *MessageIdString);
493
494
ACPI_STATUS
495
AslElevateException (
496
char *MessageIdString);
497
498
ACPI_STATUS
499
AslDisableException (
500
char *MessageIdString);
501
502
BOOLEAN
503
AslIsExceptionIgnored (
504
char *Filename,
505
UINT32 LineNumber,
506
UINT8 Level,
507
UINT16 MessageId);
508
509
void
510
AslLogExpectedExceptionByLine (
511
char *MessageIdString);
512
513
void
514
AslCoreSubsystemError (
515
ACPI_PARSE_OBJECT *Op,
516
ACPI_STATUS Status,
517
char *ExtraMessage,
518
BOOLEAN Abort);
519
520
int
521
AslCompilererror(
522
const char *s);
523
524
void
525
AslCommonError (
526
UINT8 Level,
527
UINT16 MessageId,
528
UINT32 CurrentLineNumber,
529
UINT32 LogicalLineNumber,
530
UINT32 LogicalByteOffset,
531
UINT32 Column,
532
char *Filename,
533
char *ExtraMessage);
534
535
void
536
AslCommonError2 (
537
UINT8 Level,
538
UINT16 MessageId,
539
UINT32 LineNumber,
540
UINT32 Column,
541
char *SourceLine,
542
char *Filename,
543
char *ExtraMessage);
544
545
void
546
AePrintException (
547
UINT32 FileId,
548
ASL_ERROR_MSG *Enode,
549
char *Header);
550
551
void
552
AePrintErrorLog (
553
UINT32 FileId);
554
555
void
556
AeClearErrorLog (
557
void);
558
559
560
/*
561
* asllisting - generate all "listing" type files
562
*/
563
void
564
LsDoListings (
565
void);
566
567
void
568
LsWriteNodeToAsmListing (
569
ACPI_PARSE_OBJECT *Op);
570
571
void
572
LsWriteNode (
573
ACPI_PARSE_OBJECT *Op,
574
UINT32 FileId);
575
576
void
577
LsDumpParseTree (
578
void);
579
580
581
/*
582
* asllistsup - Listing file support utilities
583
*/
584
void
585
LsDumpAscii (
586
UINT32 FileId,
587
UINT32 Count,
588
UINT8 *Buffer);
589
590
void
591
LsDumpAsciiInComment (
592
UINT32 FileId,
593
UINT32 Count,
594
UINT8 *Buffer);
595
596
void
597
LsCheckException (
598
UINT32 LineNumber,
599
UINT32 FileId);
600
601
void
602
LsFlushListingBuffer (
603
UINT32 FileId);
604
605
void
606
LsWriteListingHexBytes (
607
UINT8 *Buffer,
608
UINT32 Length,
609
UINT32 FileId);
610
611
void
612
LsWriteSourceLines (
613
UINT32 ToLineNumber,
614
UINT32 ToLogicalLineNumber,
615
UINT32 FileId);
616
617
UINT32
618
LsWriteOneSourceLine (
619
UINT32 FileId);
620
621
void
622
LsPushNode (
623
char *Filename);
624
625
ASL_LISTING_NODE *
626
LsPopNode (
627
void);
628
629
630
/*
631
* aslhex - generate all "hex" output files (C, ASM, ASL)
632
*/
633
void
634
HxDoHexOutput (
635
void);
636
637
638
/*
639
* aslfold - constant folding
640
*/
641
ACPI_STATUS
642
OpcAmlConstantWalk (
643
ACPI_PARSE_OBJECT *Op,
644
UINT32 Level,
645
void *Context);
646
647
648
/*
649
* aslmessages - exception strings
650
*/
651
const char *
652
AeDecodeMessageId (
653
UINT16 MessageId);
654
655
const char *
656
AeDecodeExceptionLevel (
657
UINT8 Level);
658
659
UINT16
660
AeBuildFullExceptionCode (
661
UINT8 Level,
662
UINT16 MessageId);
663
664
/*
665
* asloffset - generate C offset file for BIOS support
666
*/
667
ACPI_STATUS
668
LsAmlOffsetWalk (
669
ACPI_PARSE_OBJECT *Op,
670
UINT32 Level,
671
void *Context);
672
673
void
674
LsDoOffsetTableHeader (
675
UINT32 FileId);
676
677
void
678
LsDoOffsetTableFooter (
679
UINT32 FileId);
680
681
682
/*
683
* aslopcodes - generate AML opcodes
684
*/
685
ACPI_STATUS
686
OpcAmlOpcodeWalk (
687
ACPI_PARSE_OBJECT *Op,
688
UINT32 Level,
689
void *Context);
690
691
ACPI_STATUS
692
OpcAmlOpcodeUpdateWalk (
693
ACPI_PARSE_OBJECT *Op,
694
UINT32 Level,
695
void *Context);
696
697
void
698
OpcGenerateAmlOpcode (
699
ACPI_PARSE_OBJECT *Op);
700
701
UINT32
702
OpcSetOptimalIntegerSize (
703
ACPI_PARSE_OBJECT *Op);
704
705
void
706
OpcGetIntegerWidth (
707
ACPI_PARSE_OBJECT *Op);
708
709
710
/*
711
* asloperands - generate AML operands for the AML opcodes
712
*/
713
ACPI_PARSE_OBJECT *
714
UtGetArg (
715
ACPI_PARSE_OBJECT *Op,
716
UINT32 Argn);
717
718
void
719
OpnGenerateAmlOperands (
720
ACPI_PARSE_OBJECT *Op);
721
722
void
723
OpnDoPackage (
724
ACPI_PARSE_OBJECT *Op);
725
726
727
/*
728
* aslopt - optimization
729
*/
730
void
731
OptOptimizeNamePath (
732
ACPI_PARSE_OBJECT *Op,
733
UINT32 Flags,
734
ACPI_WALK_STATE *WalkState,
735
char *AmlNameString,
736
ACPI_NAMESPACE_NODE *TargetNode);
737
738
739
/*
740
* aslpld - ToPLD macro support
741
*/
742
void
743
OpcDoPld (
744
ACPI_PARSE_OBJECT *Op);
745
746
747
/*
748
* aslprintf - Printf/Fprintf macros
749
*/
750
void
751
OpcDoPrintf (
752
ACPI_PARSE_OBJECT *Op);
753
754
void
755
OpcDoFprintf (
756
ACPI_PARSE_OBJECT *Op);
757
758
759
/*
760
* aslprune - parse tree pruner
761
*/
762
void
763
AslPruneParseTree (
764
UINT32 PruneDepth,
765
UINT32 Type);
766
767
768
/*
769
* aslcodegen - code generation
770
*/
771
void
772
CgGenerateAmlOutput (
773
void);
774
775
void
776
CgLocalWriteAmlData (
777
ACPI_PARSE_OBJECT *Op,
778
void *Buffer,
779
UINT32 Length);
780
781
782
/*
783
* aslfile
784
*/
785
void
786
FlOpenFile (
787
UINT32 FileId,
788
char *Filename,
789
char *Mode);
790
791
792
/*
793
* asllength - calculate/adjust AML package lengths
794
*/
795
ACPI_STATUS
796
LnPackageLengthWalk (
797
ACPI_PARSE_OBJECT *Op,
798
UINT32 Level,
799
void *Context);
800
801
ACPI_STATUS
802
LnInitLengthsWalk (
803
ACPI_PARSE_OBJECT *Op,
804
UINT32 Level,
805
void *Context);
806
807
void
808
CgGenerateAmlLengths (
809
ACPI_PARSE_OBJECT *Op);
810
811
812
/*
813
* aslmap - opcode mappings and reserved method names
814
*/
815
ACPI_OBJECT_TYPE
816
AslMapNamedOpcodeToDataType (
817
UINT16 Opcode);
818
819
820
/*
821
* aslpredef - ACPI predefined names support
822
*/
823
BOOLEAN
824
ApCheckForPredefinedMethod (
825
ACPI_PARSE_OBJECT *Op,
826
ASL_METHOD_INFO *MethodInfo);
827
828
void
829
ApCheckPredefinedReturnValue (
830
ACPI_PARSE_OBJECT *Op,
831
ASL_METHOD_INFO *MethodInfo);
832
833
UINT32
834
ApCheckForPredefinedName (
835
ACPI_PARSE_OBJECT *Op,
836
char *Name);
837
838
void
839
ApCheckForPredefinedObject (
840
ACPI_PARSE_OBJECT *Op,
841
char *Name);
842
843
ACPI_STATUS
844
ApCheckObjectType (
845
const char *PredefinedName,
846
ACPI_PARSE_OBJECT *Op,
847
UINT32 ExpectedBtypes,
848
UINT32 PackageIndex);
849
850
void
851
ApDisplayReservedNames (
852
void);
853
854
855
/*
856
* aslprepkg - ACPI predefined names support for packages
857
*/
858
void
859
ApCheckPackage (
860
ACPI_PARSE_OBJECT *ParentOp,
861
const ACPI_PREDEFINED_INFO *Predefined);
862
863
864
/*
865
* asltransform - parse tree transformations
866
*/
867
ACPI_STATUS
868
TrAmlTransformWalkBegin (
869
ACPI_PARSE_OBJECT *Op,
870
UINT32 Level,
871
void *Context);
872
873
ACPI_STATUS
874
TrAmlTransformWalkEnd (
875
ACPI_PARSE_OBJECT *Op,
876
UINT32 Level,
877
void *Context);
878
879
880
/*
881
* aslexternal - External opcode support
882
*/
883
ACPI_STATUS
884
ExAmlExternalWalkBegin (
885
ACPI_PARSE_OBJECT *Op,
886
UINT32 Level,
887
void *Context);
888
889
ACPI_STATUS
890
ExAmlExternalWalkEnd (
891
ACPI_PARSE_OBJECT *Op,
892
UINT32 Level,
893
void *Context);
894
895
void
896
ExDoExternal (
897
ACPI_PARSE_OBJECT *Op);
898
899
/* Values for "Visitation" parameter above */
900
901
#define ASL_WALK_VISIT_DOWNWARD 0x01
902
#define ASL_WALK_VISIT_UPWARD 0x02
903
#define ASL_WALK_VISIT_DB_SEPARATELY 0x04
904
#define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
905
906
907
/*
908
* aslparseop.c - Parse op create/allocate/cache
909
*/
910
ACPI_PARSE_OBJECT *
911
TrCreateOp (
912
UINT32 ParseOpcode,
913
UINT32 NumChildren,
914
...);
915
916
ACPI_PARSE_OBJECT *
917
TrCreateLeafOp (
918
UINT32 ParseOpcode);
919
920
ACPI_PARSE_OBJECT *
921
TrCreateNullTargetOp (
922
void);
923
924
ACPI_PARSE_OBJECT *
925
TrCreateAssignmentOp (
926
ACPI_PARSE_OBJECT *Target,
927
ACPI_PARSE_OBJECT *Source);
928
929
ACPI_PARSE_OBJECT *
930
TrCreateTargetOp (
931
ACPI_PARSE_OBJECT *OriginalOp,
932
ACPI_PARSE_OBJECT *ParentOp);
933
934
ACPI_PARSE_OBJECT *
935
TrCreateValuedLeafOp (
936
UINT32 ParseOpcode,
937
UINT64 Value);
938
939
ACPI_PARSE_OBJECT *
940
TrCreateConstantLeafOp (
941
UINT32 ParseOpcode);
942
943
ACPI_PARSE_OBJECT *
944
TrAllocateOp (
945
UINT32 ParseOpcode);
946
947
void
948
TrPrintOpFlags (
949
UINT32 Flags,
950
UINT32 OutputLevel);
951
952
953
/*
954
* asltree.c - Parse tree management
955
*/
956
void
957
TrSetOpParent (
958
ACPI_PARSE_OBJECT *Op,
959
ACPI_PARSE_OBJECT *ParentOp);
960
961
ACPI_PARSE_OBJECT *
962
TrSetOpIntegerValue (
963
UINT32 ParseOpcode,
964
ACPI_PARSE_OBJECT *Op);
965
966
void
967
TrSetOpEndLineNumber (
968
ACPI_PARSE_OBJECT *Op);
969
970
void
971
TrSetOpCurrentFilename (
972
ACPI_PARSE_OBJECT *Op);
973
974
void
975
TrSetOpIntegerWidth (
976
ACPI_PARSE_OBJECT *TableSignature,
977
ACPI_PARSE_OBJECT *Revision);
978
979
ACPI_PARSE_OBJECT *
980
TrLinkOpChildren (
981
ACPI_PARSE_OBJECT *Op,
982
UINT32 NumChildren,
983
...);
984
985
ACPI_PARSE_OBJECT *
986
TrLinkPeerOp (
987
ACPI_PARSE_OBJECT *Op1,
988
ACPI_PARSE_OBJECT *Op2);
989
990
ACPI_PARSE_OBJECT *
991
TrLinkChildOp (
992
ACPI_PARSE_OBJECT *Op1,
993
ACPI_PARSE_OBJECT *Op2);
994
995
ACPI_PARSE_OBJECT *
996
TrSetOpFlags (
997
ACPI_PARSE_OBJECT *Op,
998
UINT32 Flags);
999
1000
ACPI_PARSE_OBJECT *
1001
TrSetOpAmlLength (
1002
ACPI_PARSE_OBJECT *Op,
1003
UINT32 Length);
1004
1005
ACPI_PARSE_OBJECT *
1006
TrLinkPeerOps (
1007
UINT32 NumPeers,
1008
...);
1009
1010
ACPI_STATUS
1011
TrWalkParseTree (
1012
ACPI_PARSE_OBJECT *Op,
1013
UINT32 Visitation,
1014
ASL_WALK_CALLBACK DescendingCallback,
1015
ASL_WALK_CALLBACK AscendingCallback,
1016
void *Context);
1017
1018
1019
/*
1020
* aslfiles - File I/O support
1021
*/
1022
void
1023
FlAddIncludeDirectory (
1024
char *Dir);
1025
1026
char *
1027
FlMergePathnames (
1028
char *PrefixDir,
1029
char *FilePathname);
1030
1031
void
1032
FlOpenIncludeFile (
1033
ACPI_PARSE_OBJECT *Op);
1034
1035
void
1036
FlFileError (
1037
UINT32 FileId,
1038
UINT8 ErrorId);
1039
1040
UINT32
1041
FlGetFileSize (
1042
UINT32 FileId);
1043
1044
ACPI_STATUS
1045
FlReadFile (
1046
UINT32 FileId,
1047
void *Buffer,
1048
UINT32 Length);
1049
1050
void
1051
FlWriteFile (
1052
UINT32 FileId,
1053
void *Buffer,
1054
UINT32 Length);
1055
1056
void
1057
FlSeekFile (
1058
UINT32 FileId,
1059
long Offset);
1060
1061
void
1062
FlSeekFileSet (
1063
UINT32 FileId,
1064
long Offset);
1065
1066
void
1067
FlCloseFile (
1068
UINT32 FileId);
1069
1070
ACPI_PRINTF_LIKE (2)
1071
void
1072
FlPrintFile (
1073
UINT32 FileId,
1074
char *Format,
1075
...);
1076
1077
void
1078
FlDeleteFile (
1079
UINT32 FileId);
1080
1081
void
1082
FlSetLineNumber (
1083
UINT32 LineNumber);
1084
1085
void
1086
FlSetFilename (
1087
char *Filename);
1088
1089
ACPI_STATUS
1090
FlOpenInputFile (
1091
char *InputFilename);
1092
1093
ACPI_STATUS
1094
FlOpenAmlOutputFile (
1095
char *InputFilename);
1096
1097
ACPI_STATUS
1098
FlOpenMiscOutputFiles (
1099
char *InputFilename);
1100
1101
ACPI_STATUS
1102
FlInitOneFile (
1103
char *InputFilename);
1104
1105
ASL_FILE_SWITCH_STATUS
1106
FlSwitchFileSet (
1107
char *InputFilename);
1108
1109
FILE *
1110
FlGetFileHandle (
1111
UINT32 OutFileId,
1112
UINT32 InFileId,
1113
char *Filename);
1114
1115
ASL_GLOBAL_FILE_NODE *
1116
FlGetFileNode (
1117
UINT32 FileId,
1118
char *Filename);
1119
1120
ASL_GLOBAL_FILE_NODE *
1121
FlGetCurrentFileNode (
1122
void);
1123
1124
1125
/*
1126
* aslhwmap - hardware map summary
1127
*/
1128
void
1129
MpEmitMappingInfo (
1130
void);
1131
1132
1133
/*
1134
* asload - load namespace in prep for cross reference
1135
*/
1136
ACPI_STATUS
1137
LdLoadNamespace (
1138
ACPI_PARSE_OBJECT *RootOp);
1139
1140
/*
1141
* asllookup - namespace lookup functions
1142
*/
1143
void
1144
LkFindUnreferencedObjects (
1145
void);
1146
1147
1148
/*
1149
* aslhelp - help screens
1150
*/
1151
void
1152
Usage (
1153
void);
1154
1155
void
1156
AslFilenameHelp (
1157
void);
1158
1159
void
1160
AslDisassemblyHelp (
1161
void);
1162
1163
1164
/*
1165
* aslnamesp - namespace output file generation
1166
*/
1167
ACPI_STATUS
1168
NsDisplayNamespace (
1169
void);
1170
1171
void
1172
NsSetupNamespaceListing (
1173
void *Handle);
1174
1175
1176
/*
1177
* asloptions - command line processing
1178
*/
1179
int
1180
AslCommandLine (
1181
int argc,
1182
char **argv);
1183
1184
1185
/*
1186
* aslxref - namespace cross reference
1187
*/
1188
ACPI_STATUS
1189
XfCrossReferenceNamespace (
1190
void);
1191
1192
1193
/*
1194
* aslxrefout
1195
*/
1196
void
1197
OtPrintHeaders (
1198
char *Message);
1199
1200
void
1201
OtCreateXrefFile (
1202
void);
1203
1204
void
1205
OtXrefWalkPart1 (
1206
ACPI_PARSE_OBJECT *Op,
1207
UINT32 Level,
1208
ASL_METHOD_INFO *MethodInfo);
1209
1210
1211
/*
1212
* aslutils - common compiler utilities
1213
*/
1214
ACPI_PRINTF_LIKE(2)
1215
void
1216
DbgPrint (
1217
UINT32 Type,
1218
char *Format,
1219
...);
1220
1221
/* Type values for above */
1222
1223
#define ASL_DEBUG_OUTPUT 0
1224
#define ASL_PARSE_OUTPUT 1
1225
#define ASL_TREE_OUTPUT 2
1226
1227
BOOLEAN
1228
UtIsIdInteger (
1229
UINT8 *Target);
1230
1231
UINT8
1232
UtIsBigEndianMachine (
1233
void);
1234
1235
BOOLEAN
1236
UtQueryForOverwrite (
1237
char *Pathname);
1238
1239
void
1240
UtDumpStringOp (
1241
ACPI_PARSE_OBJECT *Op,
1242
UINT32 Level);
1243
1244
void
1245
UtDumpIntegerOp (
1246
ACPI_PARSE_OBJECT *Op,
1247
UINT32 Level,
1248
UINT32 IntegerLength);
1249
1250
void
1251
UtDumpBasicOp (
1252
ACPI_PARSE_OBJECT *Op,
1253
UINT32 Level);
1254
1255
ACPI_NAMESPACE_NODE *
1256
UtGetParentMethodNode (
1257
ACPI_NAMESPACE_NODE *Node);
1258
1259
ACPI_PARSE_OBJECT *
1260
UtGetParentMethodOp (
1261
ACPI_PARSE_OBJECT *Op);
1262
1263
BOOLEAN
1264
UtNodeIsDescendantOf (
1265
ACPI_NAMESPACE_NODE *Node1,
1266
ACPI_NAMESPACE_NODE *Node2);
1267
1268
void
1269
UtDisplaySupportedTables (
1270
void);
1271
1272
void
1273
UtDisplayConstantOpcodes (
1274
void);
1275
1276
UINT8
1277
UtBeginEvent (
1278
char *Name);
1279
1280
void
1281
UtEndEvent (
1282
UINT8 Event);
1283
1284
void
1285
UtDisplaySummary (
1286
UINT32 FileId);
1287
1288
void
1289
UtDisplayOneSummary (
1290
UINT32 FileId,
1291
BOOLEAN DisplayErrorSummary);
1292
1293
void
1294
UtConvertByteToHex (
1295
UINT8 RawByte,
1296
UINT8 *Buffer);
1297
1298
void
1299
UtConvertByteToAsmHex (
1300
UINT8 RawByte,
1301
UINT8 *Buffer);
1302
1303
char *
1304
UtGetOpName (
1305
UINT32 ParseOpcode);
1306
1307
void
1308
UtSetParseOpName (
1309
ACPI_PARSE_OBJECT *Op);
1310
1311
ACPI_STATUS
1312
UtInternalizeName (
1313
char *ExternalName,
1314
char **ConvertedName);
1315
1316
BOOLEAN
1317
UtNameContainsAllPrefix (
1318
ACPI_PARSE_OBJECT *Op);
1319
1320
void
1321
UtAttachNamepathToOwner (
1322
ACPI_PARSE_OBJECT *Op,
1323
ACPI_PARSE_OBJECT *NameNode);
1324
1325
ACPI_PARSE_OBJECT *
1326
UtCheckIntegerRange (
1327
ACPI_PARSE_OBJECT *Op,
1328
UINT32 LowValue,
1329
UINT32 HighValue);
1330
1331
UINT64
1332
UtDoConstant (
1333
char *String);
1334
1335
char *
1336
AcpiUtStrdup (
1337
char *String);
1338
1339
char *
1340
AcpiUtStrcat (
1341
char *String1,
1342
char *String2);
1343
1344
1345
/*
1346
* asluuid - UUID support
1347
*/
1348
ACPI_STATUS
1349
AuValidateUuid (
1350
char *InString);
1351
1352
ACPI_STATUS
1353
AuConvertUuidToString (
1354
char *UuIdBuffer,
1355
char *OutString);
1356
1357
1358
/*
1359
* aslresource - Resource template generation utilities
1360
*/
1361
void
1362
RsSmallAddressCheck (
1363
UINT8 Type,
1364
UINT32 Minimum,
1365
UINT32 Maximum,
1366
UINT32 Length,
1367
UINT32 Alignment,
1368
ACPI_PARSE_OBJECT *MinOp,
1369
ACPI_PARSE_OBJECT *MaxOp,
1370
ACPI_PARSE_OBJECT *LengthOp,
1371
ACPI_PARSE_OBJECT *AlignOp,
1372
ACPI_PARSE_OBJECT *Op);
1373
1374
void
1375
RsLargeAddressCheck (
1376
UINT64 Minimum,
1377
UINT64 Maximum,
1378
UINT64 Length,
1379
UINT64 Granularity,
1380
UINT8 Flags,
1381
ACPI_PARSE_OBJECT *MinOp,
1382
ACPI_PARSE_OBJECT *MaxOp,
1383
ACPI_PARSE_OBJECT *LengthOp,
1384
ACPI_PARSE_OBJECT *GranOp,
1385
ACPI_PARSE_OBJECT *Op);
1386
1387
UINT16
1388
RsGetStringDataLength (
1389
ACPI_PARSE_OBJECT *InitializerOp);
1390
1391
ASL_RESOURCE_NODE *
1392
RsAllocateResourceNode (
1393
UINT32 Size);
1394
1395
void
1396
RsCreateResourceField (
1397
ACPI_PARSE_OBJECT *Op,
1398
char *Name,
1399
UINT32 ByteOffset,
1400
UINT32 BitOffset,
1401
UINT32 BitLength);
1402
1403
void
1404
RsSetFlagBits (
1405
UINT8 *Flags,
1406
ACPI_PARSE_OBJECT *Op,
1407
UINT8 Position,
1408
UINT8 DefaultBit);
1409
1410
void
1411
RsSetFlagBits16 (
1412
UINT16 *Flags,
1413
ACPI_PARSE_OBJECT *Op,
1414
UINT8 Position,
1415
UINT8 DefaultBit);
1416
1417
ACPI_PARSE_OBJECT *
1418
RsCompleteNodeAndGetNext (
1419
ACPI_PARSE_OBJECT *Op);
1420
1421
void
1422
RsCheckListForDuplicates (
1423
ACPI_PARSE_OBJECT *Op);
1424
1425
ASL_RESOURCE_NODE *
1426
RsDoOneResourceDescriptor (
1427
ASL_RESOURCE_INFO *Info,
1428
UINT8 *State);
1429
1430
/* Values for State above */
1431
1432
#define ACPI_RSTATE_NORMAL 0
1433
#define ACPI_RSTATE_START_DEPENDENT 1
1434
#define ACPI_RSTATE_DEPENDENT_LIST 2
1435
1436
UINT32
1437
RsLinkDescriptorChain (
1438
ASL_RESOURCE_NODE **PreviousRnode,
1439
ASL_RESOURCE_NODE *Rnode);
1440
1441
void
1442
RsDoResourceTemplate (
1443
ACPI_PARSE_OBJECT *Op);
1444
1445
1446
/*
1447
* aslrestype1 - Miscellaneous Small descriptors
1448
*/
1449
ASL_RESOURCE_NODE *
1450
RsDoEndTagDescriptor (
1451
ASL_RESOURCE_INFO *Info);
1452
1453
ASL_RESOURCE_NODE *
1454
RsDoEndDependentDescriptor (
1455
ASL_RESOURCE_INFO *Info);
1456
1457
ASL_RESOURCE_NODE *
1458
RsDoMemory24Descriptor (
1459
ASL_RESOURCE_INFO *Info);
1460
1461
ASL_RESOURCE_NODE *
1462
RsDoMemory32Descriptor (
1463
ASL_RESOURCE_INFO *Info);
1464
1465
ASL_RESOURCE_NODE *
1466
RsDoMemory32FixedDescriptor (
1467
ASL_RESOURCE_INFO *Info);
1468
1469
ASL_RESOURCE_NODE *
1470
RsDoStartDependentDescriptor (
1471
ASL_RESOURCE_INFO *Info);
1472
1473
ASL_RESOURCE_NODE *
1474
RsDoStartDependentNoPriDescriptor (
1475
ASL_RESOURCE_INFO *Info);
1476
1477
ASL_RESOURCE_NODE *
1478
RsDoVendorSmallDescriptor (
1479
ASL_RESOURCE_INFO *Info);
1480
1481
1482
/*
1483
* aslrestype1i - I/O-related Small descriptors
1484
*/
1485
ASL_RESOURCE_NODE *
1486
RsDoDmaDescriptor (
1487
ASL_RESOURCE_INFO *Info);
1488
1489
ASL_RESOURCE_NODE *
1490
RsDoFixedDmaDescriptor (
1491
ASL_RESOURCE_INFO *Info);
1492
1493
ASL_RESOURCE_NODE *
1494
RsDoFixedIoDescriptor (
1495
ASL_RESOURCE_INFO *Info);
1496
1497
ASL_RESOURCE_NODE *
1498
RsDoIoDescriptor (
1499
ASL_RESOURCE_INFO *Info);
1500
1501
ASL_RESOURCE_NODE *
1502
RsDoIrqDescriptor (
1503
ASL_RESOURCE_INFO *Info);
1504
1505
ASL_RESOURCE_NODE *
1506
RsDoIrqNoFlagsDescriptor (
1507
ASL_RESOURCE_INFO *Info);
1508
1509
1510
/*
1511
* aslrestype2 - Large resource descriptors
1512
*/
1513
ASL_RESOURCE_NODE *
1514
RsDoInterruptDescriptor (
1515
ASL_RESOURCE_INFO *Info);
1516
1517
ASL_RESOURCE_NODE *
1518
RsDoVendorLargeDescriptor (
1519
ASL_RESOURCE_INFO *Info);
1520
1521
ASL_RESOURCE_NODE *
1522
RsDoGeneralRegisterDescriptor (
1523
ASL_RESOURCE_INFO *Info);
1524
1525
ASL_RESOURCE_NODE *
1526
RsDoGpioIntDescriptor (
1527
ASL_RESOURCE_INFO *Info);
1528
1529
ASL_RESOURCE_NODE *
1530
RsDoGpioIoDescriptor (
1531
ASL_RESOURCE_INFO *Info);
1532
1533
ASL_RESOURCE_NODE *
1534
RsDoI2cSerialBusDescriptor (
1535
ASL_RESOURCE_INFO *Info);
1536
1537
ASL_RESOURCE_NODE *
1538
RsDoSpiSerialBusDescriptor (
1539
ASL_RESOURCE_INFO *Info);
1540
1541
ASL_RESOURCE_NODE *
1542
RsDoUartSerialBusDescriptor (
1543
ASL_RESOURCE_INFO *Info);
1544
1545
ASL_RESOURCE_NODE *
1546
RsDoCsi2SerialBusDescriptor (
1547
ASL_RESOURCE_INFO *Info);
1548
1549
ASL_RESOURCE_NODE *
1550
RsDoPinFunctionDescriptor (
1551
ASL_RESOURCE_INFO *Info);
1552
1553
ASL_RESOURCE_NODE *
1554
RsDoPinConfigDescriptor (
1555
ASL_RESOURCE_INFO *Info);
1556
1557
ASL_RESOURCE_NODE *
1558
RsDoPinGroupDescriptor (
1559
ASL_RESOURCE_INFO *Info);
1560
1561
ASL_RESOURCE_NODE *
1562
RsDoPinGroupFunctionDescriptor (
1563
ASL_RESOURCE_INFO *Info);
1564
1565
ASL_RESOURCE_NODE *
1566
RsDoPinGroupConfigDescriptor (
1567
ASL_RESOURCE_INFO *Info);
1568
1569
ASL_RESOURCE_NODE *
1570
RsDoClockInputDescriptor (
1571
ASL_RESOURCE_INFO *Info);
1572
1573
/*
1574
* aslrestype2d - DWord address descriptors
1575
*/
1576
ASL_RESOURCE_NODE *
1577
RsDoDwordIoDescriptor (
1578
ASL_RESOURCE_INFO *Info);
1579
1580
ASL_RESOURCE_NODE *
1581
RsDoDwordMemoryDescriptor (
1582
ASL_RESOURCE_INFO *Info);
1583
1584
ASL_RESOURCE_NODE *
1585
RsDoDwordPccDescriptor (
1586
ASL_RESOURCE_INFO *Info);
1587
1588
ASL_RESOURCE_NODE *
1589
RsDoDwordSpaceDescriptor (
1590
ASL_RESOURCE_INFO *Info);
1591
1592
/*
1593
* aslrestype2e - Extended address descriptors
1594
*/
1595
ASL_RESOURCE_NODE *
1596
RsDoExtendedIoDescriptor (
1597
ASL_RESOURCE_INFO *Info);
1598
1599
ASL_RESOURCE_NODE *
1600
RsDoExtendedMemoryDescriptor (
1601
ASL_RESOURCE_INFO *Info);
1602
1603
ASL_RESOURCE_NODE *
1604
RsDoExtendedSpaceDescriptor (
1605
ASL_RESOURCE_INFO *Info);
1606
1607
1608
/*
1609
* aslrestype2q - QWord address descriptors
1610
*/
1611
ASL_RESOURCE_NODE *
1612
RsDoQwordIoDescriptor (
1613
ASL_RESOURCE_INFO *Info);
1614
1615
ASL_RESOURCE_NODE *
1616
RsDoQwordMemoryDescriptor (
1617
ASL_RESOURCE_INFO *Info);
1618
1619
ASL_RESOURCE_NODE *
1620
RsDoQwordPccDescriptor (
1621
ASL_RESOURCE_INFO *Info);
1622
1623
ASL_RESOURCE_NODE *
1624
RsDoQwordSpaceDescriptor (
1625
ASL_RESOURCE_INFO *Info);
1626
1627
1628
/*
1629
* aslrestype2w - Word address descriptors
1630
*/
1631
ASL_RESOURCE_NODE *
1632
RsDoWordIoDescriptor (
1633
ASL_RESOURCE_INFO *Info);
1634
1635
ASL_RESOURCE_NODE *
1636
RsDoWordPccDescriptor (
1637
ASL_RESOURCE_INFO *Info);
1638
1639
ASL_RESOURCE_NODE *
1640
RsDoWordSpaceDescriptor (
1641
ASL_RESOURCE_INFO *Info);
1642
1643
ASL_RESOURCE_NODE *
1644
RsDoWordBusNumberDescriptor (
1645
ASL_RESOURCE_INFO *Info);
1646
1647
1648
/*
1649
* Entry to data table compiler subsystem
1650
*/
1651
ACPI_STATUS
1652
DtDoCompile(
1653
void);
1654
1655
ACPI_STATUS
1656
DtCreateTemplates (
1657
char **argv);
1658
1659
1660
/*
1661
* ASL/ASL+ converter debug
1662
*/
1663
ACPI_PRINTF_LIKE (1)
1664
void
1665
CvDbgPrint (
1666
char *Fmt,
1667
...);
1668
1669
1670
#endif /* __ASLCOMPILER_H */
1671
1672