644{
651
652
655
656
657
658
659 switch (WalkState->
Opcode)
660 {
662
664 if (!ReturnDesc)
665 {
668 }
669
670
671
672
673
674 if (!Operand[0]->Integer.Value)
675 {
677 }
678 break;
679
682
683
684
685
687 if (!ReturnDesc)
688 {
691 }
692
693
694
695
696
697 TempDesc = Operand[0];
699 {
700
701
703 }
704
705
706
707
708
709
710
711
713 &TempDesc, WalkState);
715 {
717 "While resolving operands for [%s]",
719
721 }
722
723
724
725
726
728 {
730 }
731 else
732 {
734 }
735
736
737
739
740
741
742
743
745 break;
746
748
749
750
751
752
753
754
755
756
759 {
761 }
762
763
764
766 if (!ReturnDesc)
767 {
770 }
771 break;
772
774
775
776
777
778
779
780
782 WalkState, Operand[0], &
Type, &TempDesc);
784 {
786 }
787
788
789
790
791
792
793
794
795
796
798 {
800
801 Value = AcpiGbl_IntegerByteWidth;
802 break;
803
805
807 break;
808
810
811
812
815 break;
816
818
819
820
823 break;
824
825 default:
826
828 "Operand must be Buffer/Integer/String/Package"
829 " - found type %s",
831
834 }
835
837 {
839 }
840
841
842
843
844
846 if (!ReturnDesc)
847 {
850 }
851 break;
852
853
855
857 Operand[0], &ReturnDesc, WalkState);
859 {
861 }
862 break;
863
864
866
867
868
870 {
873 if (TempDesc &&
876 {
877 Operand[0] = TempDesc;
879 }
880 else
881 {
884 }
885 }
886 else
887 {
888 switch ((Operand[0])->Common.Type)
889 {
891
892
893
894
895
896 switch (Operand[0]->Reference.Class)
897 {
900
901
902
904 Operand[0]->Reference.Class,
905 Operand[0]->Reference.Value,
906 WalkState, &TempDesc);
908 {
910 }
911
912
913
914
915
917 Operand[0] = TempDesc;
918 break;
919
921
922
923
926 Operand[0] = TempDesc;
927 break;
928
929 default:
930
931
932 break;
933 }
934 break;
935
937
938 break;
939
940 default:
941
944 }
945 }
946
948 {
950 {
951
952
953
954
955
956
957
958
960 Operand[0]->String.Pointer,
965 {
967 }
968
972 WalkState);
974 }
975 }
976
977
978
980 {
981
982
983
984
985
986
987
989 {
992
993
994
995 ReturnDesc = Operand[0];
996 break;
997
998 default:
999
1000
1004 break;
1005 }
1006 }
1007 else
1008 {
1009
1010
1011
1012
1013 switch (Operand[0]->Reference.Class)
1014 {
1016
1017
1018
1019
1020 switch (Operand[0]->Reference.TargetType)
1021 {
1023
1024 TempDesc = Operand[0]->Reference.
Object;
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1039 TempDesc->
Buffer.Pointer[Operand[0]->Reference.Value]);
1040 if (!ReturnDesc)
1041 {
1044 }
1045 break;
1046
1048
1049
1050
1051
1052 ReturnDesc = *(Operand[0]->Reference.Where);
1053 if (!ReturnDesc)
1054 {
1055
1056
1057
1058
1059
1061 }
1062
1064 break;
1065
1066 default:
1067
1069 "Unknown Index TargetType 0x%X in reference object %p",
1070 Operand[0]->Reference.TargetType, Operand[0]));
1071
1074 }
1075 break;
1076
1078
1079 ReturnDesc = Operand[0]->Reference.
Object;
1080
1083 {
1086 if (!ReturnDesc)
1087 {
1088 break;
1089 }
1090
1091
1092
1093
1094
1095 switch (ReturnDesc->
Common.Type)
1096 {
1101
1103 WalkState, ReturnDesc, &TempDesc);
1105 {
1107 }
1108
1109 ReturnDesc = TempDesc;
1110 break;
1111
1112 default:
1113
1114
1115
1117 break;
1118 }
1119 }
1120 break;
1121
1122 default:
1123
1125 "Unknown class in reference(%p) - 0x%2.2X",
1126 Operand[0], Operand[0]->Reference.Class));
1127
1130 }
1131 }
1132 break;
1133
1134 default:
1135
1138
1141 }
1142
1143
1145
1146
1147
1149 {
1151 }
1152
1153
1154
1155 else
1156 {
1158 }
1159
1161}
unsigned long long UINT64
#define AE_AML_UNINITIALIZED_ELEMENT
#define AE_AML_OPERAND_TYPE
#define ACPI_GET_DESCRIPTOR_TYPE(d)
ACPI_OPERAND_OBJECT * AcpiNsGetAttachedObject(ACPI_NAMESPACE_NODE *Node)
ACPI_STATUS AcpiNsGetNodeUnlocked(ACPI_NAMESPACE_NODE *PrefixNode, const char *ExternalPathname, UINT32 Flags, ACPI_NAMESPACE_NODE **OutNode)
#define ACPI_NS_SEARCH_PARENT
#define ACPI_DESC_TYPE_OPERAND
#define ACPI_DESC_TYPE_NAMED
#define ACPI_EXCEPTION(plist)
#define ACPI_TYPE_LOCAL_REFERENCE
#define ACPI_TYPE_BUFFER_FIELD
#define ACPI_CAST_INDIRECT_PTR(t, p)
#define ACPI_TYPE_LOCAL_BANK_FIELD
#define ACPI_TYPE_INTEGER
#define ACPI_TYPE_LOCAL_REGION_FIELD
#define ACPI_TYPE_PACKAGE
#define ACPI_TYPE_LOCAL_INDEX_FIELD
#define ACPI_TYPE_THERMAL
#define AcpiUtCreateInternalObject(t)
const char * AcpiUtGetTypeName(ACPI_OBJECT_TYPE Type)
void AcpiUtAddReference(ACPI_OPERAND_OBJECT *Object)
#define AML_OBJECT_TYPE_OP
#define AML_LOGICAL_NOT_OP
ACPI_STATUS AcpiDsGetPackageArguments(ACPI_OPERAND_OBJECT *ObjDesc)
ACPI_STATUS AcpiDsGetBufferArguments(ACPI_OPERAND_OBJECT *ObjDesc)
ACPI_STATUS AcpiDsMethodDataGetValue(UINT8 Type, UINT32 Index, ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT **DestDesc)
ACPI_STATUS AcpiExReadDataFromField(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **RetBufferDesc)
ACPI_STATUS AcpiExGetObjectReference(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_OPERAND_OBJECT **ReturnDesc, ACPI_WALK_STATE *WalkState)
ACPI_STATUS AcpiExResolveNodeToValue(ACPI_NAMESPACE_NODE **ObjectPtr, ACPI_WALK_STATE *WalkState)
ACPI_STATUS AcpiExResolveMultiple(ACPI_WALK_STATE *WalkState, ACPI_OPERAND_OBJECT *Operand, ACPI_OBJECT_TYPE *ReturnType, ACPI_OPERAND_OBJECT **ReturnDesc)
ACPI_STATUS AcpiExResolveOperands(UINT16 Opcode, ACPI_OPERAND_OBJECT **StackPtr, ACPI_WALK_STATE *WalkState)
ACPI_STATUS AcpiExStore(ACPI_OPERAND_OBJECT *SourceDesc, ACPI_OPERAND_OBJECT *DestDesc, ACPI_WALK_STATE *WalkState)
union acpi_operand_object * Object
ACPI_STATE_COMMON ACPI_NAMESPACE_NODE * Node
ACPI_GENERIC_STATE * ScopeInfo
ACPI_OBJECT_INTEGER Integer
ACPI_OBJECT_REFERENCE Reference
ACPI_OBJECT_COMMON Common
ACPI_OBJECT_PACKAGE Package
ACPI_OBJECT_STRING String
ACPI_OBJECT_BUFFER Buffer
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value