Warning, cross-references for /kernel/include/drivers/acpi/acdisasm.h need to be fixed.
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116 #ifndef __ACDISASM_H__
0117 #define __ACDISASM_H__
0118
0119 #include "amlresrc.h"
0120
0121
0122 #define BLOCK_NONE 0
0123 #define BLOCK_PAREN 1
0124 #define BLOCK_BRACE 2
0125 #define BLOCK_COMMA_LIST 4
0126 #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD"
0127
0128 typedef struct acpi_external_list
0129 {
0130 char *Path;
0131 char *InternalPath;
0132 struct acpi_external_list *Next;
0133 UINT32 Value;
0134 UINT16 Length;
0135 UINT8 Type;
0136
0137 } ACPI_EXTERNAL_LIST;
0138
0139 extern ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList;
0140
0141 typedef const struct acpi_dmtable_info
0142 {
0143 UINT8 Opcode;
0144 UINT8 Offset;
0145 char *Name;
0146
0147 } ACPI_DMTABLE_INFO;
0148
0149
0150
0151
0152
0153 #define ACPI_DMT_FLAG0 0
0154 #define ACPI_DMT_FLAG1 1
0155 #define ACPI_DMT_FLAG2 2
0156 #define ACPI_DMT_FLAG3 3
0157 #define ACPI_DMT_FLAG4 4
0158 #define ACPI_DMT_FLAG5 5
0159 #define ACPI_DMT_FLAG6 6
0160 #define ACPI_DMT_FLAG7 7
0161 #define ACPI_DMT_FLAGS0 8
0162 #define ACPI_DMT_FLAGS2 9
0163 #define ACPI_DMT_UINT8 10
0164 #define ACPI_DMT_UINT16 11
0165 #define ACPI_DMT_UINT24 12
0166 #define ACPI_DMT_UINT32 13
0167 #define ACPI_DMT_UINT56 14
0168 #define ACPI_DMT_UINT64 15
0169 #define ACPI_DMT_STRING 16
0170 #define ACPI_DMT_NAME4 17
0171 #define ACPI_DMT_NAME6 18
0172 #define ACPI_DMT_NAME8 19
0173 #define ACPI_DMT_CHKSUM 20
0174 #define ACPI_DMT_SPACEID 21
0175 #define ACPI_DMT_GAS 22
0176 #define ACPI_DMT_ASF 23
0177 #define ACPI_DMT_DMAR 24
0178 #define ACPI_DMT_HEST 25
0179 #define ACPI_DMT_HESTNTFY 26
0180 #define ACPI_DMT_HESTNTYP 27
0181 #define ACPI_DMT_MADT 28
0182 #define ACPI_DMT_SRAT 29
0183 #define ACPI_DMT_EXIT 30
0184 #define ACPI_DMT_SIG 31
0185 #define ACPI_DMT_FADTPM 32
0186
0187 typedef
0188 void (*ACPI_DMTABLE_HANDLER) (
0189 ACPI_TABLE_HEADER *Table);
0190
0191 typedef struct acpi_dmtable_data
0192 {
0193 char *Signature;
0194 ACPI_DMTABLE_INFO *TableInfo;
0195 ACPI_DMTABLE_HANDLER TableHandler;
0196 char *Name;
0197
0198 } ACPI_DMTABLE_DATA;
0199
0200
0201 typedef struct acpi_op_walk_info
0202 {
0203 UINT32 Level;
0204 UINT32 LastLevel;
0205 UINT32 Count;
0206 UINT32 BitOffset;
0207 UINT32 Flags;
0208 ACPI_WALK_STATE *WalkState;
0209
0210 } ACPI_OP_WALK_INFO;
0211
0212 typedef
0213 ACPI_STATUS (*ASL_WALK_CALLBACK) (
0214 ACPI_PARSE_OBJECT *Op,
0215 UINT32 Level,
0216 void *Context);
0217
0218 typedef struct acpi_resource_tag
0219 {
0220 UINT32 BitIndex;
0221 char *Tag;
0222
0223 } ACPI_RESOURCE_TAG;
0224
0225
0226
0227 extern const char *AcpiGbl_WordDecode[];
0228 extern const char *AcpiGbl_IrqDecode[];
0229 extern const char *AcpiGbl_LockRule[];
0230 extern const char *AcpiGbl_AccessTypes[];
0231 extern const char *AcpiGbl_UpdateRules[];
0232 extern const char *AcpiGbl_MatchOps[];
0233
0234 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
0235 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[];
0236 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[];
0237 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[];
0238 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[];
0239 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
0240 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
0241 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
0242 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
0243 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
0244 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[];
0245 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[];
0246 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[];
0247 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[];
0248 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[];
0249 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[];
0250 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[];
0251 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[];
0252 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[];
0253 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[];
0254 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[];
0255 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[];
0256 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[];
0257 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[];
0258 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[];
0259 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[];
0260 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[];
0261 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[];
0262 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[];
0263 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[];
0264 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[];
0265 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[];
0266 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest3[];
0267 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest4[];
0268 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest5[];
0269 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[];
0270 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[];
0271 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[];
0272 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[];
0273 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[];
0274 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[];
0275 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
0276 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
0277 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
0278 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[];
0279 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[];
0280 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[];
0281 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[];
0282 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[];
0283 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[];
0284 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[];
0285 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[];
0286 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[];
0287 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
0288 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
0289 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
0290 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
0291 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
0292 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[];
0293 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[];
0294 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[];
0295 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[];
0296 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[];
0297 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[];
0298 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[];
0299 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[];
0300 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[];
0301 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[];
0302 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[];
0303 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[];
0304
0305
0306
0307
0308
0309 void
0310 AcpiDmDumpDataTable (
0311 ACPI_TABLE_HEADER *Table);
0312
0313 ACPI_STATUS
0314 AcpiDmDumpTable (
0315 UINT32 TableLength,
0316 UINT32 TableOffset,
0317 void *Table,
0318 UINT32 SubTableLength,
0319 ACPI_DMTABLE_INFO *Info);
0320
0321 void
0322 AcpiDmLineHeader (
0323 UINT32 Offset,
0324 UINT32 ByteLength,
0325 char *Name);
0326
0327 void
0328 AcpiDmLineHeader2 (
0329 UINT32 Offset,
0330 UINT32 ByteLength,
0331 char *Name,
0332 UINT32 Value);
0333
0334
0335
0336
0337
0338 void
0339 AcpiDmDumpAsf (
0340 ACPI_TABLE_HEADER *Table);
0341
0342 void
0343 AcpiDmDumpCpep (
0344 ACPI_TABLE_HEADER *Table);
0345
0346 void
0347 AcpiDmDumpDmar (
0348 ACPI_TABLE_HEADER *Table);
0349
0350 void
0351 AcpiDmDumpEinj (
0352 ACPI_TABLE_HEADER *Table);
0353
0354 void
0355 AcpiDmDumpErst (
0356 ACPI_TABLE_HEADER *Table);
0357
0358 void
0359 AcpiDmDumpFadt (
0360 ACPI_TABLE_HEADER *Table);
0361
0362 void
0363 AcpiDmDumpHest (
0364 ACPI_TABLE_HEADER *Table);
0365
0366 void
0367 AcpiDmDumpMcfg (
0368 ACPI_TABLE_HEADER *Table);
0369
0370 void
0371 AcpiDmDumpMadt (
0372 ACPI_TABLE_HEADER *Table);
0373
0374 UINT32
0375 AcpiDmDumpRsdp (
0376 ACPI_TABLE_HEADER *Table);
0377
0378 void
0379 AcpiDmDumpRsdt (
0380 ACPI_TABLE_HEADER *Table);
0381
0382 void
0383 AcpiDmDumpSlit (
0384 ACPI_TABLE_HEADER *Table);
0385
0386 void
0387 AcpiDmDumpSrat (
0388 ACPI_TABLE_HEADER *Table);
0389
0390 void
0391 AcpiDmDumpXsdt (
0392 ACPI_TABLE_HEADER *Table);
0393
0394
0395
0396
0397
0398 void
0399 AcpiDmDisassemble (
0400 ACPI_WALK_STATE *WalkState,
0401 ACPI_PARSE_OBJECT *Origin,
0402 UINT32 NumOpcodes);
0403
0404 void
0405 AcpiDmWalkParseTree (
0406 ACPI_PARSE_OBJECT *Op,
0407 ASL_WALK_CALLBACK DescendingCallback,
0408 ASL_WALK_CALLBACK AscendingCallback,
0409 void *Context);
0410
0411
0412
0413
0414
0415 void
0416 AcpiDmDisassembleOneOp (
0417 ACPI_WALK_STATE *WalkState,
0418 ACPI_OP_WALK_INFO *Info,
0419 ACPI_PARSE_OBJECT *Op);
0420
0421 void
0422 AcpiDmDecodeInternalObject (
0423 ACPI_OPERAND_OBJECT *ObjDesc);
0424
0425 UINT32
0426 AcpiDmListType (
0427 ACPI_PARSE_OBJECT *Op);
0428
0429 void
0430 AcpiDmMethodFlags (
0431 ACPI_PARSE_OBJECT *Op);
0432
0433 void
0434 AcpiDmFieldFlags (
0435 ACPI_PARSE_OBJECT *Op);
0436
0437 void
0438 AcpiDmAddressSpace (
0439 UINT8 SpaceId);
0440
0441 void
0442 AcpiDmRegionFlags (
0443 ACPI_PARSE_OBJECT *Op);
0444
0445 void
0446 AcpiDmMatchOp (
0447 ACPI_PARSE_OBJECT *Op);
0448
0449 BOOLEAN
0450 AcpiDmCommaIfListMember (
0451 ACPI_PARSE_OBJECT *Op);
0452
0453 void
0454 AcpiDmCommaIfFieldMember (
0455 ACPI_PARSE_OBJECT *Op);
0456
0457
0458
0459
0460
0461 UINT32
0462 AcpiDmDumpName (
0463 UINT32 Name);
0464
0465 ACPI_STATUS
0466 AcpiPsDisplayObjectPathname (
0467 ACPI_WALK_STATE *WalkState,
0468 ACPI_PARSE_OBJECT *Op);
0469
0470 void
0471 AcpiDmNamestring (
0472 char *Name);
0473
0474
0475
0476
0477
0478 void
0479 AcpiDmDisplayInternalObject (
0480 ACPI_OPERAND_OBJECT *ObjDesc,
0481 ACPI_WALK_STATE *WalkState);
0482
0483 void
0484 AcpiDmDisplayArguments (
0485 ACPI_WALK_STATE *WalkState);
0486
0487 void
0488 AcpiDmDisplayLocals (
0489 ACPI_WALK_STATE *WalkState);
0490
0491 void
0492 AcpiDmDumpMethodInfo (
0493 ACPI_STATUS Status,
0494 ACPI_WALK_STATE *WalkState,
0495 ACPI_PARSE_OBJECT *Op);
0496
0497
0498
0499
0500
0501 void
0502 AcpiDmDisasmByteList (
0503 UINT32 Level,
0504 UINT8 *ByteData,
0505 UINT32 ByteCount);
0506
0507 void
0508 AcpiDmByteList (
0509 ACPI_OP_WALK_INFO *Info,
0510 ACPI_PARSE_OBJECT *Op);
0511
0512 void
0513 AcpiDmIsEisaId (
0514 ACPI_PARSE_OBJECT *Op);
0515
0516 void
0517 AcpiDmEisaId (
0518 UINT32 EncodedId);
0519
0520 BOOLEAN
0521 AcpiDmIsUnicodeBuffer (
0522 ACPI_PARSE_OBJECT *Op);
0523
0524 BOOLEAN
0525 AcpiDmIsStringBuffer (
0526 ACPI_PARSE_OBJECT *Op);
0527
0528
0529
0530
0531
0532 void
0533 AcpiDmDumpInteger8 (
0534 UINT8 Value,
0535 char *Name);
0536
0537 void
0538 AcpiDmDumpInteger16 (
0539 UINT16 Value,
0540 char *Name);
0541
0542 void
0543 AcpiDmDumpInteger32 (
0544 UINT32 Value,
0545 char *Name);
0546
0547 void
0548 AcpiDmDumpInteger64 (
0549 UINT64 Value,
0550 char *Name);
0551
0552 void
0553 AcpiDmResourceTemplate (
0554 ACPI_OP_WALK_INFO *Info,
0555 ACPI_PARSE_OBJECT *Op,
0556 UINT8 *ByteData,
0557 UINT32 ByteCount);
0558
0559 ACPI_STATUS
0560 AcpiDmIsResourceTemplate (
0561 ACPI_PARSE_OBJECT *Op);
0562
0563 void
0564 AcpiDmIndent (
0565 UINT32 Level);
0566
0567 void
0568 AcpiDmBitList (
0569 UINT16 Mask);
0570
0571 void
0572 AcpiDmDecodeAttribute (
0573 UINT8 Attribute);
0574
0575 void
0576 AcpiDmDescriptorName (
0577 void);
0578
0579
0580
0581
0582
0583 void
0584 AcpiDmWordDescriptor (
0585 AML_RESOURCE *Resource,
0586 UINT32 Length,
0587 UINT32 Level);
0588
0589 void
0590 AcpiDmDwordDescriptor (
0591 AML_RESOURCE *Resource,
0592 UINT32 Length,
0593 UINT32 Level);
0594
0595 void
0596 AcpiDmExtendedDescriptor (
0597 AML_RESOURCE *Resource,
0598 UINT32 Length,
0599 UINT32 Level);
0600
0601 void
0602 AcpiDmQwordDescriptor (
0603 AML_RESOURCE *Resource,
0604 UINT32 Length,
0605 UINT32 Level);
0606
0607 void
0608 AcpiDmMemory24Descriptor (
0609 AML_RESOURCE *Resource,
0610 UINT32 Length,
0611 UINT32 Level);
0612
0613 void
0614 AcpiDmMemory32Descriptor (
0615 AML_RESOURCE *Resource,
0616 UINT32 Length,
0617 UINT32 Level);
0618
0619 void
0620 AcpiDmFixedMemory32Descriptor (
0621 AML_RESOURCE *Resource,
0622 UINT32 Length,
0623 UINT32 Level);
0624
0625 void
0626 AcpiDmGenericRegisterDescriptor (
0627 AML_RESOURCE *Resource,
0628 UINT32 Length,
0629 UINT32 Level);
0630
0631 void
0632 AcpiDmInterruptDescriptor (
0633 AML_RESOURCE *Resource,
0634 UINT32 Length,
0635 UINT32 Level);
0636
0637 void
0638 AcpiDmVendorLargeDescriptor (
0639 AML_RESOURCE *Resource,
0640 UINT32 Length,
0641 UINT32 Level);
0642
0643 void
0644 AcpiDmVendorCommon (
0645 char *Name,
0646 UINT8 *ByteData,
0647 UINT32 Length,
0648 UINT32 Level);
0649
0650
0651
0652
0653
0654 void
0655 AcpiDmIrqDescriptor (
0656 AML_RESOURCE *Resource,
0657 UINT32 Length,
0658 UINT32 Level);
0659
0660 void
0661 AcpiDmDmaDescriptor (
0662 AML_RESOURCE *Resource,
0663 UINT32 Length,
0664 UINT32 Level);
0665
0666 void
0667 AcpiDmIoDescriptor (
0668 AML_RESOURCE *Resource,
0669 UINT32 Length,
0670 UINT32 Level);
0671
0672 void
0673 AcpiDmFixedIoDescriptor (
0674 AML_RESOURCE *Resource,
0675 UINT32 Length,
0676 UINT32 Level);
0677
0678 void
0679 AcpiDmStartDependentDescriptor (
0680 AML_RESOURCE *Resource,
0681 UINT32 Length,
0682 UINT32 Level);
0683
0684 void
0685 AcpiDmEndDependentDescriptor (
0686 AML_RESOURCE *Resource,
0687 UINT32 Length,
0688 UINT32 Level);
0689
0690 void
0691 AcpiDmVendorSmallDescriptor (
0692 AML_RESOURCE *Resource,
0693 UINT32 Length,
0694 UINT32 Level);
0695
0696
0697
0698
0699
0700 void
0701 AcpiDmAddToExternalList (
0702 char *Path,
0703 UINT8 Type,
0704 UINT32 Value);
0705
0706
0707
0708
0709 void
0710 AcpiDmFindResources (
0711 ACPI_PARSE_OBJECT *Root);
0712
0713 void
0714 AcpiDmCheckResourceReference (
0715 ACPI_PARSE_OBJECT *Op,
0716 ACPI_WALK_STATE *WalkState);
0717
0718 #endif