Warning, cross-references for /kernel/include/drivers/acpi/acinterp.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 __ACINTERP_H__
0117 #define __ACINTERP_H__
0118
0119
0120 #define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1]))
0121
0122
0123
0124 #define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f)
0125 #define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f)
0126 #define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO))
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136 #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
0137 #pragma pack(1)
0138 #endif
0139
0140 typedef const struct acpi_exdump_info
0141 {
0142 UINT8 Opcode;
0143 UINT8 Offset;
0144 char *Name;
0145
0146 } ACPI_EXDUMP_INFO;
0147
0148
0149
0150 #define ACPI_EXD_INIT 0
0151 #define ACPI_EXD_TYPE 1
0152 #define ACPI_EXD_UINT8 2
0153 #define ACPI_EXD_UINT16 3
0154 #define ACPI_EXD_UINT32 4
0155 #define ACPI_EXD_UINT64 5
0156 #define ACPI_EXD_LITERAL 6
0157 #define ACPI_EXD_POINTER 7
0158 #define ACPI_EXD_ADDRESS 8
0159 #define ACPI_EXD_STRING 9
0160 #define ACPI_EXD_BUFFER 10
0161 #define ACPI_EXD_PACKAGE 11
0162 #define ACPI_EXD_FIELD 12
0163 #define ACPI_EXD_REFERENCE 13
0164
0165
0166
0167 #pragma pack()
0168
0169
0170
0171
0172
0173 ACPI_STATUS
0174 AcpiExConvertToInteger (
0175 ACPI_OPERAND_OBJECT *ObjDesc,
0176 ACPI_OPERAND_OBJECT **ResultDesc,
0177 UINT32 Flags);
0178
0179 ACPI_STATUS
0180 AcpiExConvertToBuffer (
0181 ACPI_OPERAND_OBJECT *ObjDesc,
0182 ACPI_OPERAND_OBJECT **ResultDesc);
0183
0184 ACPI_STATUS
0185 AcpiExConvertToString (
0186 ACPI_OPERAND_OBJECT *ObjDesc,
0187 ACPI_OPERAND_OBJECT **ResultDesc,
0188 UINT32 Type);
0189
0190
0191
0192 #define ACPI_EXPLICIT_BYTE_COPY 0x00000000
0193 #define ACPI_EXPLICIT_CONVERT_HEX 0x00000001
0194 #define ACPI_IMPLICIT_CONVERT_HEX 0x00000002
0195 #define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003
0196
0197 ACPI_STATUS
0198 AcpiExConvertToTargetType (
0199 ACPI_OBJECT_TYPE DestinationType,
0200 ACPI_OPERAND_OBJECT *SourceDesc,
0201 ACPI_OPERAND_OBJECT **ResultDesc,
0202 ACPI_WALK_STATE *WalkState);
0203
0204
0205
0206
0207
0208 ACPI_STATUS
0209 AcpiExCommonBufferSetup (
0210 ACPI_OPERAND_OBJECT *ObjDesc,
0211 UINT32 BufferLength,
0212 UINT32 *DatumCount);
0213
0214 ACPI_STATUS
0215 AcpiExWriteWithUpdateRule (
0216 ACPI_OPERAND_OBJECT *ObjDesc,
0217 ACPI_INTEGER Mask,
0218 ACPI_INTEGER FieldValue,
0219 UINT32 FieldDatumByteOffset);
0220
0221 void
0222 AcpiExGetBufferDatum(
0223 ACPI_INTEGER *Datum,
0224 void *Buffer,
0225 UINT32 BufferLength,
0226 UINT32 ByteGranularity,
0227 UINT32 BufferOffset);
0228
0229 void
0230 AcpiExSetBufferDatum (
0231 ACPI_INTEGER MergedDatum,
0232 void *Buffer,
0233 UINT32 BufferLength,
0234 UINT32 ByteGranularity,
0235 UINT32 BufferOffset);
0236
0237 ACPI_STATUS
0238 AcpiExReadDataFromField (
0239 ACPI_WALK_STATE *WalkState,
0240 ACPI_OPERAND_OBJECT *ObjDesc,
0241 ACPI_OPERAND_OBJECT **RetBufferDesc);
0242
0243 ACPI_STATUS
0244 AcpiExWriteDataToField (
0245 ACPI_OPERAND_OBJECT *SourceDesc,
0246 ACPI_OPERAND_OBJECT *ObjDesc,
0247 ACPI_OPERAND_OBJECT **ResultDesc);
0248
0249
0250
0251
0252
0253 ACPI_STATUS
0254 AcpiExExtractFromField (
0255 ACPI_OPERAND_OBJECT *ObjDesc,
0256 void *Buffer,
0257 UINT32 BufferLength);
0258
0259 ACPI_STATUS
0260 AcpiExInsertIntoField (
0261 ACPI_OPERAND_OBJECT *ObjDesc,
0262 void *Buffer,
0263 UINT32 BufferLength);
0264
0265 ACPI_STATUS
0266 AcpiExAccessRegion (
0267 ACPI_OPERAND_OBJECT *ObjDesc,
0268 UINT32 FieldDatumByteOffset,
0269 ACPI_INTEGER *Value,
0270 UINT32 ReadWrite);
0271
0272
0273
0274
0275
0276 ACPI_STATUS
0277 AcpiExGetObjectReference (
0278 ACPI_OPERAND_OBJECT *ObjDesc,
0279 ACPI_OPERAND_OBJECT **ReturnDesc,
0280 ACPI_WALK_STATE *WalkState);
0281
0282 ACPI_STATUS
0283 AcpiExConcatTemplate (
0284 ACPI_OPERAND_OBJECT *ObjDesc,
0285 ACPI_OPERAND_OBJECT *ObjDesc2,
0286 ACPI_OPERAND_OBJECT **ActualReturnDesc,
0287 ACPI_WALK_STATE *WalkState);
0288
0289 ACPI_STATUS
0290 AcpiExDoConcatenate (
0291 ACPI_OPERAND_OBJECT *ObjDesc,
0292 ACPI_OPERAND_OBJECT *ObjDesc2,
0293 ACPI_OPERAND_OBJECT **ActualReturnDesc,
0294 ACPI_WALK_STATE *WalkState);
0295
0296 ACPI_STATUS
0297 AcpiExDoLogicalNumericOp (
0298 UINT16 Opcode,
0299 ACPI_INTEGER Integer0,
0300 ACPI_INTEGER Integer1,
0301 BOOLEAN *LogicalResult);
0302
0303 ACPI_STATUS
0304 AcpiExDoLogicalOp (
0305 UINT16 Opcode,
0306 ACPI_OPERAND_OBJECT *Operand0,
0307 ACPI_OPERAND_OBJECT *Operand1,
0308 BOOLEAN *LogicalResult);
0309
0310 ACPI_INTEGER
0311 AcpiExDoMathOp (
0312 UINT16 Opcode,
0313 ACPI_INTEGER Operand0,
0314 ACPI_INTEGER Operand1);
0315
0316 ACPI_STATUS
0317 AcpiExCreateMutex (
0318 ACPI_WALK_STATE *WalkState);
0319
0320 ACPI_STATUS
0321 AcpiExCreateProcessor (
0322 ACPI_WALK_STATE *WalkState);
0323
0324 ACPI_STATUS
0325 AcpiExCreatePowerResource (
0326 ACPI_WALK_STATE *WalkState);
0327
0328 ACPI_STATUS
0329 AcpiExCreateRegion (
0330 UINT8 *AmlStart,
0331 UINT32 AmlLength,
0332 UINT8 RegionSpace,
0333 ACPI_WALK_STATE *WalkState);
0334
0335 ACPI_STATUS
0336 AcpiExCreateEvent (
0337 ACPI_WALK_STATE *WalkState);
0338
0339 ACPI_STATUS
0340 AcpiExCreateAlias (
0341 ACPI_WALK_STATE *WalkState);
0342
0343 ACPI_STATUS
0344 AcpiExCreateMethod (
0345 UINT8 *AmlStart,
0346 UINT32 AmlLength,
0347 ACPI_WALK_STATE *WalkState);
0348
0349
0350
0351
0352
0353 ACPI_STATUS
0354 AcpiExLoadOp (
0355 ACPI_OPERAND_OBJECT *ObjDesc,
0356 ACPI_OPERAND_OBJECT *Target,
0357 ACPI_WALK_STATE *WalkState);
0358
0359 ACPI_STATUS
0360 AcpiExLoadTableOp (
0361 ACPI_WALK_STATE *WalkState,
0362 ACPI_OPERAND_OBJECT **ReturnDesc);
0363
0364 ACPI_STATUS
0365 AcpiExUnloadTable (
0366 ACPI_OPERAND_OBJECT *DdbHandle);
0367
0368
0369
0370
0371
0372 ACPI_STATUS
0373 AcpiExAcquireMutex (
0374 ACPI_OPERAND_OBJECT *TimeDesc,
0375 ACPI_OPERAND_OBJECT *ObjDesc,
0376 ACPI_WALK_STATE *WalkState);
0377
0378 ACPI_STATUS
0379 AcpiExAcquireMutexObject (
0380 UINT16 Timeout,
0381 ACPI_OPERAND_OBJECT *ObjDesc,
0382 ACPI_THREAD_ID ThreadId);
0383
0384 ACPI_STATUS
0385 AcpiExReleaseMutex (
0386 ACPI_OPERAND_OBJECT *ObjDesc,
0387 ACPI_WALK_STATE *WalkState);
0388
0389 ACPI_STATUS
0390 AcpiExReleaseMutexObject (
0391 ACPI_OPERAND_OBJECT *ObjDesc);
0392
0393 void
0394 AcpiExReleaseAllMutexes (
0395 ACPI_THREAD_STATE *Thread);
0396
0397 void
0398 AcpiExUnlinkMutex (
0399 ACPI_OPERAND_OBJECT *ObjDesc);
0400
0401
0402
0403
0404
0405 ACPI_STATUS
0406 AcpiExPrepCommonFieldObject (
0407 ACPI_OPERAND_OBJECT *ObjDesc,
0408 UINT8 FieldFlags,
0409 UINT8 FieldAttribute,
0410 UINT32 FieldBitPosition,
0411 UINT32 FieldBitLength);
0412
0413 ACPI_STATUS
0414 AcpiExPrepFieldValue (
0415 ACPI_CREATE_FIELD_INFO *Info);
0416
0417
0418
0419
0420
0421 ACPI_STATUS
0422 AcpiExSystemDoNotifyOp (
0423 ACPI_OPERAND_OBJECT *Value,
0424 ACPI_OPERAND_OBJECT *ObjDesc);
0425
0426 ACPI_STATUS
0427 AcpiExSystemDoSuspend(
0428 ACPI_INTEGER Time);
0429
0430 ACPI_STATUS
0431 AcpiExSystemDoStall (
0432 UINT32 Time);
0433
0434 ACPI_STATUS
0435 AcpiExSystemSignalEvent(
0436 ACPI_OPERAND_OBJECT *ObjDesc);
0437
0438 ACPI_STATUS
0439 AcpiExSystemWaitEvent(
0440 ACPI_OPERAND_OBJECT *Time,
0441 ACPI_OPERAND_OBJECT *ObjDesc);
0442
0443 ACPI_STATUS
0444 AcpiExSystemResetEvent(
0445 ACPI_OPERAND_OBJECT *ObjDesc);
0446
0447 ACPI_STATUS
0448 AcpiExSystemWaitSemaphore (
0449 ACPI_SEMAPHORE Semaphore,
0450 UINT16 Timeout);
0451
0452 ACPI_STATUS
0453 AcpiExSystemWaitMutex (
0454 ACPI_MUTEX Mutex,
0455 UINT16 Timeout);
0456
0457
0458
0459
0460 ACPI_STATUS
0461 AcpiExOpcode_0A_0T_1R (
0462 ACPI_WALK_STATE *WalkState);
0463
0464 ACPI_STATUS
0465 AcpiExOpcode_1A_0T_0R (
0466 ACPI_WALK_STATE *WalkState);
0467
0468 ACPI_STATUS
0469 AcpiExOpcode_1A_0T_1R (
0470 ACPI_WALK_STATE *WalkState);
0471
0472 ACPI_STATUS
0473 AcpiExOpcode_1A_1T_1R (
0474 ACPI_WALK_STATE *WalkState);
0475
0476 ACPI_STATUS
0477 AcpiExOpcode_1A_1T_0R (
0478 ACPI_WALK_STATE *WalkState);
0479
0480
0481
0482
0483 ACPI_STATUS
0484 AcpiExOpcode_2A_0T_0R (
0485 ACPI_WALK_STATE *WalkState);
0486
0487 ACPI_STATUS
0488 AcpiExOpcode_2A_0T_1R (
0489 ACPI_WALK_STATE *WalkState);
0490
0491 ACPI_STATUS
0492 AcpiExOpcode_2A_1T_1R (
0493 ACPI_WALK_STATE *WalkState);
0494
0495 ACPI_STATUS
0496 AcpiExOpcode_2A_2T_1R (
0497 ACPI_WALK_STATE *WalkState);
0498
0499
0500
0501
0502
0503 ACPI_STATUS
0504 AcpiExOpcode_3A_0T_0R (
0505 ACPI_WALK_STATE *WalkState);
0506
0507 ACPI_STATUS
0508 AcpiExOpcode_3A_1T_1R (
0509 ACPI_WALK_STATE *WalkState);
0510
0511
0512
0513
0514
0515 ACPI_STATUS
0516 AcpiExOpcode_6A_0T_1R (
0517 ACPI_WALK_STATE *WalkState);
0518
0519
0520
0521
0522
0523 ACPI_STATUS
0524 AcpiExResolveToValue (
0525 ACPI_OPERAND_OBJECT **StackPtr,
0526 ACPI_WALK_STATE *WalkState);
0527
0528 ACPI_STATUS
0529 AcpiExResolveMultiple (
0530 ACPI_WALK_STATE *WalkState,
0531 ACPI_OPERAND_OBJECT *Operand,
0532 ACPI_OBJECT_TYPE *ReturnType,
0533 ACPI_OPERAND_OBJECT **ReturnDesc);
0534
0535
0536
0537
0538
0539 ACPI_STATUS
0540 AcpiExResolveNodeToValue (
0541 ACPI_NAMESPACE_NODE **StackPtr,
0542 ACPI_WALK_STATE *WalkState);
0543
0544
0545
0546
0547
0548 ACPI_STATUS
0549 AcpiExResolveOperands (
0550 UINT16 Opcode,
0551 ACPI_OPERAND_OBJECT **StackPtr,
0552 ACPI_WALK_STATE *WalkState);
0553
0554
0555
0556
0557
0558 void
0559 AcpiExDumpOperand (
0560 ACPI_OPERAND_OBJECT *ObjDesc,
0561 UINT32 Depth);
0562
0563 void
0564 AcpiExDumpOperands (
0565 ACPI_OPERAND_OBJECT **Operands,
0566 const char *OpcodeName,
0567 UINT32 NumOpcodes);
0568
0569 void
0570 AcpiExDumpObjectDescriptor (
0571 ACPI_OPERAND_OBJECT *Object,
0572 UINT32 Flags);
0573
0574 void
0575 AcpiExDumpNamespaceNode (
0576 ACPI_NAMESPACE_NODE *Node,
0577 UINT32 Flags);
0578
0579
0580
0581
0582
0583 ACPI_STATUS
0584 AcpiExGetNameString (
0585 ACPI_OBJECT_TYPE DataType,
0586 UINT8 *InAmlAddress,
0587 char **OutNameString,
0588 UINT32 *OutNameLength);
0589
0590
0591
0592
0593
0594 ACPI_STATUS
0595 AcpiExStore (
0596 ACPI_OPERAND_OBJECT *ValDesc,
0597 ACPI_OPERAND_OBJECT *DestDesc,
0598 ACPI_WALK_STATE *WalkState);
0599
0600 ACPI_STATUS
0601 AcpiExStoreObjectToNode (
0602 ACPI_OPERAND_OBJECT *SourceDesc,
0603 ACPI_NAMESPACE_NODE *Node,
0604 ACPI_WALK_STATE *WalkState,
0605 UINT8 ImplicitConversion);
0606
0607 #define ACPI_IMPLICIT_CONVERSION TRUE
0608 #define ACPI_NO_IMPLICIT_CONVERSION FALSE
0609
0610
0611
0612
0613
0614 ACPI_STATUS
0615 AcpiExResolveObject (
0616 ACPI_OPERAND_OBJECT **SourceDescPtr,
0617 ACPI_OBJECT_TYPE TargetType,
0618 ACPI_WALK_STATE *WalkState);
0619
0620 ACPI_STATUS
0621 AcpiExStoreObjectToObject (
0622 ACPI_OPERAND_OBJECT *SourceDesc,
0623 ACPI_OPERAND_OBJECT *DestDesc,
0624 ACPI_OPERAND_OBJECT **NewDesc,
0625 ACPI_WALK_STATE *WalkState);
0626
0627
0628
0629
0630
0631 ACPI_STATUS
0632 AcpiExStoreBufferToBuffer (
0633 ACPI_OPERAND_OBJECT *SourceDesc,
0634 ACPI_OPERAND_OBJECT *TargetDesc);
0635
0636 ACPI_STATUS
0637 AcpiExStoreStringToString (
0638 ACPI_OPERAND_OBJECT *SourceDesc,
0639 ACPI_OPERAND_OBJECT *TargetDesc);
0640
0641
0642
0643
0644
0645 ACPI_STATUS
0646 AcpiExCopyIntegerToIndexField (
0647 ACPI_OPERAND_OBJECT *SourceDesc,
0648 ACPI_OPERAND_OBJECT *TargetDesc);
0649
0650 ACPI_STATUS
0651 AcpiExCopyIntegerToBankField (
0652 ACPI_OPERAND_OBJECT *SourceDesc,
0653 ACPI_OPERAND_OBJECT *TargetDesc);
0654
0655 ACPI_STATUS
0656 AcpiExCopyDataToNamedField (
0657 ACPI_OPERAND_OBJECT *SourceDesc,
0658 ACPI_NAMESPACE_NODE *Node);
0659
0660 ACPI_STATUS
0661 AcpiExCopyIntegerToBufferField (
0662 ACPI_OPERAND_OBJECT *SourceDesc,
0663 ACPI_OPERAND_OBJECT *TargetDesc);
0664
0665
0666
0667
0668
0669 void
0670 AcpiExEnterInterpreter (
0671 void);
0672
0673 void
0674 AcpiExExitInterpreter (
0675 void);
0676
0677 void
0678 AcpiExReacquireInterpreter (
0679 void);
0680
0681 void
0682 AcpiExRelinquishInterpreter (
0683 void);
0684
0685 void
0686 AcpiExTruncateFor32bitTable (
0687 ACPI_OPERAND_OBJECT *ObjDesc);
0688
0689 void
0690 AcpiExAcquireGlobalLock (
0691 UINT32 Rule);
0692
0693 void
0694 AcpiExReleaseGlobalLock (
0695 UINT32 Rule);
0696
0697 void
0698 AcpiExEisaIdToString (
0699 char *Dest,
0700 ACPI_INTEGER CompressedId);
0701
0702 void
0703 AcpiExIntegerToString (
0704 char *Dest,
0705 ACPI_INTEGER Value);
0706
0707
0708
0709
0710
0711 ACPI_STATUS
0712 AcpiExSystemMemorySpaceHandler (
0713 UINT32 Function,
0714 ACPI_PHYSICAL_ADDRESS Address,
0715 UINT32 BitWidth,
0716 ACPI_INTEGER *Value,
0717 void *HandlerContext,
0718 void *RegionContext);
0719
0720 ACPI_STATUS
0721 AcpiExSystemIoSpaceHandler (
0722 UINT32 Function,
0723 ACPI_PHYSICAL_ADDRESS Address,
0724 UINT32 BitWidth,
0725 ACPI_INTEGER *Value,
0726 void *HandlerContext,
0727 void *RegionContext);
0728
0729 ACPI_STATUS
0730 AcpiExPciConfigSpaceHandler (
0731 UINT32 Function,
0732 ACPI_PHYSICAL_ADDRESS Address,
0733 UINT32 BitWidth,
0734 ACPI_INTEGER *Value,
0735 void *HandlerContext,
0736 void *RegionContext);
0737
0738 ACPI_STATUS
0739 AcpiExCmosSpaceHandler (
0740 UINT32 Function,
0741 ACPI_PHYSICAL_ADDRESS Address,
0742 UINT32 BitWidth,
0743 ACPI_INTEGER *Value,
0744 void *HandlerContext,
0745 void *RegionContext);
0746
0747 ACPI_STATUS
0748 AcpiExPciBarSpaceHandler (
0749 UINT32 Function,
0750 ACPI_PHYSICAL_ADDRESS Address,
0751 UINT32 BitWidth,
0752 ACPI_INTEGER *Value,
0753 void *HandlerContext,
0754 void *RegionContext);
0755
0756 ACPI_STATUS
0757 AcpiExEmbeddedControllerSpaceHandler (
0758 UINT32 Function,
0759 ACPI_PHYSICAL_ADDRESS Address,
0760 UINT32 BitWidth,
0761 ACPI_INTEGER *Value,
0762 void *HandlerContext,
0763 void *RegionContext);
0764
0765 ACPI_STATUS
0766 AcpiExSmBusSpaceHandler (
0767 UINT32 Function,
0768 ACPI_PHYSICAL_ADDRESS Address,
0769 UINT32 BitWidth,
0770 ACPI_INTEGER *Value,
0771 void *HandlerContext,
0772 void *RegionContext);
0773
0774
0775 ACPI_STATUS
0776 AcpiExDataTableSpaceHandler (
0777 UINT32 Function,
0778 ACPI_PHYSICAL_ADDRESS Address,
0779 UINT32 BitWidth,
0780 ACPI_INTEGER *Value,
0781 void *HandlerContext,
0782 void *RegionContext);
0783
0784 #endif