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 (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 {
746 if ((Op->Common.AmlOpcode == AML_ALIAS_OP) ||
747 (Op->Common.AmlOpcode == AML_SCOPE_OP))
748 {
749 /*
750 * Only these two operators refer to an existing name,
751 * first argument
752 */
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
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);
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 ---
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 (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 {
746 if ((Op->Common.AmlOpcode == AML_ALIAS_OP) ||
747 (Op->Common.AmlOpcode == AML_SCOPE_OP))
748 {
749 /*
750 * Only these two operators refer to an existing name,
751 * first argument
752 */
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
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);
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 ---