adwalk.c (229989) | adwalk.c (235945) |
---|---|
1/****************************************************************************** 2 * 3 * Module Name: adwalk - Application-level disassembler parse tree walk routines 4 * 5 *****************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2012, Intel Corp. --- 507 unchanged lines hidden (view full) --- 516 517 /* Must examine parent to see if this namepath is an argument */ 518 519 ParentOp = Op->Common.Parent; 520 OpInfo = AcpiPsGetOpcodeInfo (ParentOp->Common.AmlOpcode); 521 522 if ((OpInfo->Class != AML_CLASS_EXECUTE) && 523 (OpInfo->Class != AML_CLASS_CREATE) && | 1/****************************************************************************** 2 * 3 * Module Name: adwalk - Application-level disassembler parse tree walk routines 4 * 5 *****************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2012, Intel Corp. --- 507 unchanged lines hidden (view full) --- 516 517 /* Must examine parent to see if this namepath is an argument */ 518 519 ParentOp = Op->Common.Parent; 520 OpInfo = AcpiPsGetOpcodeInfo (ParentOp->Common.AmlOpcode); 521 522 if ((OpInfo->Class != AML_CLASS_EXECUTE) && 523 (OpInfo->Class != AML_CLASS_CREATE) && |
524 (OpInfo->ObjectType != ACPI_TYPE_LOCAL_ALIAS) && |
|
524 (ParentOp->Common.AmlOpcode != AML_INT_METHODCALL_OP) && 525 !Op->Common.Node) 526 { 527 ArgCount = AcpiDmInspectPossibleArgs (0, 0, Op->Common.Next); 528 529 /* 530 * Check if namepath is a predicate for if/while or lone parameter to 531 * a return. --- 206 unchanged lines hidden (view full) --- 738 { 739 goto Exit; 740 } 741 742 /* Get the NamePath from the appropriate place */ 743 744 if (OpInfo->Flags & AML_NAMED) 745 { | 525 (ParentOp->Common.AmlOpcode != AML_INT_METHODCALL_OP) && 526 !Op->Common.Node) 527 { 528 ArgCount = AcpiDmInspectPossibleArgs (0, 0, Op->Common.Next); 529 530 /* 531 * Check if namepath is a predicate for if/while or lone parameter to 532 * a return. --- 206 unchanged lines hidden (view full) --- 739 { 740 goto Exit; 741 } 742 743 /* Get the NamePath from the appropriate place */ 744 745 if (OpInfo->Flags & AML_NAMED) 746 { |
746 if ((Op->Common.AmlOpcode == AML_ALIAS_OP) || 747 (Op->Common.AmlOpcode == AML_SCOPE_OP)) | 747 /* 748 * Only these two operators (Alias, Scope) refer to an existing 749 * name, it is the first argument 750 */ 751 if (Op->Common.AmlOpcode == AML_ALIAS_OP) |
748 { | 752 { |
749 /* 750 * Only these two operators refer to an existing name, 751 * first argument 752 */ | 753 ObjectType = ACPI_TYPE_ANY; 754 755 NextOp = Op->Common.Value.Arg; 756 NextOp = NextOp->Common.Value.Arg; 757 if (NextOp->Common.AmlOpcode == AML_INT_NAMEPATH_OP) 758 { 759 Path = NextOp->Common.Value.String; 760 } 761 } 762 else if (Op->Common.AmlOpcode == AML_SCOPE_OP) 763 { |
753 Path = (char *) Op->Named.Path; 754 } 755 } 756 else if (OpInfo->Flags & AML_CREATE) 757 { 758 /* Referenced Buffer Name is the first child */ 759 | 764 Path = (char *) Op->Named.Path; 765 } 766 } 767 else if (OpInfo->Flags & AML_CREATE) 768 { 769 /* Referenced Buffer Name is the first child */ 770 |
771 ObjectType = ACPI_TYPE_BUFFER; /* Change from TYPE_BUFFER_FIELD */ 772 |
|
760 NextOp = Op->Common.Value.Arg; 761 if (NextOp->Common.AmlOpcode == AML_INT_NAMEPATH_OP) 762 { 763 Path = NextOp->Common.Value.String; 764 } 765 } 766 else 767 { --- 10 unchanged lines hidden (view full) --- 778 * is an invalid reference. 779 * 780 * The namespace is also used as a lookup table for references to resource 781 * descriptors and the fields within them. 782 */ 783 Status = AcpiNsLookup (WalkState->ScopeInfo, Path, ACPI_TYPE_ANY, 784 ACPI_IMODE_EXECUTE, ACPI_NS_SEARCH_PARENT | ACPI_NS_DONT_OPEN_SCOPE, 785 WalkState, &Node); | 773 NextOp = Op->Common.Value.Arg; 774 if (NextOp->Common.AmlOpcode == AML_INT_NAMEPATH_OP) 775 { 776 Path = NextOp->Common.Value.String; 777 } 778 } 779 else 780 { --- 10 unchanged lines hidden (view full) --- 791 * is an invalid reference. 792 * 793 * The namespace is also used as a lookup table for references to resource 794 * descriptors and the fields within them. 795 */ 796 Status = AcpiNsLookup (WalkState->ScopeInfo, Path, ACPI_TYPE_ANY, 797 ACPI_IMODE_EXECUTE, ACPI_NS_SEARCH_PARENT | ACPI_NS_DONT_OPEN_SCOPE, 798 WalkState, &Node); |
799 if (ACPI_SUCCESS (Status) && (Node->Flags & ANOBJ_IS_EXTERNAL)) 800 { 801 Status = AE_NOT_FOUND; 802 } 803 |
|
786 if (ACPI_FAILURE (Status)) 787 { 788 if (Status == AE_NOT_FOUND) 789 { 790 AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType, 0); 791 792 /* 793 * We could install this into the namespace, but we catch duplicate --- 211 unchanged lines hidden --- | 804 if (ACPI_FAILURE (Status)) 805 { 806 if (Status == AE_NOT_FOUND) 807 { 808 AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType, 0); 809 810 /* 811 * We could install this into the namespace, but we catch duplicate --- 211 unchanged lines hidden --- |