Print this page
acpica-unix2-20130823
PANKOVs restructure

*** 1,14 **** - /****************************************************************************** * * Module Name: exresolv - AML Interpreter object resolution * *****************************************************************************/ /* ! * Copyright (C) 2000 - 2011, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: --- 1,13 ---- /****************************************************************************** * * Module Name: exresolv - AML Interpreter object resolution * *****************************************************************************/ /* ! * Copyright (C) 2000 - 2013, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met:
*** 163,173 **** ACPI_FUNCTION_TRACE (ExResolveObjectToValue); StackDesc = *StackPtr; ! /* This is an ACPI_OPERAND_OBJECT */ switch (StackDesc->Common.Type) { case ACPI_TYPE_LOCAL_REFERENCE: --- 162,172 ---- ACPI_FUNCTION_TRACE (ExResolveObjectToValue); StackDesc = *StackPtr; ! /* This is an object of type ACPI_OPERAND_OBJECT */ switch (StackDesc->Common.Type) { case ACPI_TYPE_LOCAL_REFERENCE:
*** 175,185 **** switch (RefType) { case ACPI_REFCLASS_LOCAL: case ACPI_REFCLASS_ARG: - /* * Get the local from the method's state info * Note: this increments the local's object reference count */ Status = AcpiDsMethodDataGetValue (RefType, --- 174,183 ----
*** 198,218 **** */ AcpiUtRemoveReference (StackDesc); *StackPtr = ObjDesc; break; - case ACPI_REFCLASS_INDEX: switch (StackDesc->Reference.TargetType) { case ACPI_TYPE_BUFFER_FIELD: /* Just return - do not dereference */ break; - case ACPI_TYPE_PACKAGE: /* If method call or CopyObject - do not dereference */ if ((WalkState->Opcode == AML_INT_METHODCALL_OP) || --- 196,214 ----
*** 246,256 **** StackDesc)); Status = AE_AML_UNINITIALIZED_ELEMENT; } break; - default: /* Invalid reference object */ ACPI_ERROR ((AE_INFO, --- 242,251 ----
*** 259,269 **** Status = AE_AML_INTERNAL; break; } break; - case ACPI_REFCLASS_REFOF: case ACPI_REFCLASS_DEBUG: case ACPI_REFCLASS_TABLE: /* Just leave the object as-is, do not dereference */ --- 254,263 ----
*** 299,321 **** Status = AE_AML_INTERNAL; break; } break; - case ACPI_TYPE_BUFFER: Status = AcpiDsGetBufferArguments (StackDesc); break; - case ACPI_TYPE_PACKAGE: Status = AcpiDsGetPackageArguments (StackDesc); break; - case ACPI_TYPE_BUFFER_FIELD: case ACPI_TYPE_LOCAL_REGION_FIELD: case ACPI_TYPE_LOCAL_BANK_FIELD: case ACPI_TYPE_LOCAL_INDEX_FIELD: --- 293,312 ----
*** 329,338 **** --- 320,330 ---- AcpiUtRemoveReference (*StackPtr); *StackPtr = (void *) ObjDesc; break; default: + break; } return_ACPI_STATUS (Status); }
*** 373,386 **** --- 365,380 ---- /* Operand can be either a namespace node or an operand descriptor */ switch (ACPI_GET_DESCRIPTOR_TYPE (ObjDesc)) { case ACPI_DESC_TYPE_OPERAND: + Type = ObjDesc->Common.Type; break; case ACPI_DESC_TYPE_NAMED: + Type = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Type; ObjDesc = AcpiNsGetAttachedObject ((ACPI_NAMESPACE_NODE *) ObjDesc); /* If we had an Alias node, use the attached object for type info */
*** 453,463 **** { return_ACPI_STATUS (AE_AML_CIRCULAR_REFERENCE); } break; - case ACPI_REFCLASS_INDEX: /* Get the type of this reference (index into another object) */ Type = ObjDesc->Reference.TargetType; --- 447,456 ----
*** 481,497 **** Type = 0; /* Uninitialized */ goto Exit; } break; - case ACPI_REFCLASS_TABLE: Type = ACPI_TYPE_DDB_HANDLE; goto Exit; - case ACPI_REFCLASS_LOCAL: case ACPI_REFCLASS_ARG: if (ReturnDesc) { --- 474,488 ----
*** 519,537 **** goto Exit; } } break; - case ACPI_REFCLASS_DEBUG: /* The Debug Object is of type "DebugObject" */ Type = ACPI_TYPE_DEBUG_OBJECT; goto Exit; - default: ACPI_ERROR ((AE_INFO, "Unknown Reference Class 0x%2.2X", ObjDesc->Reference.Class)); return_ACPI_STATUS (AE_AML_INTERNAL); --- 510,526 ----
*** 563,573 **** --- 552,564 ---- Type = ACPI_TYPE_ANY; break; default: + /* No change to Type required */ + break; } *ReturnType = Type; if (ReturnDesc)
*** 574,580 **** { *ReturnDesc = ObjDesc; } return_ACPI_STATUS (AE_OK); } - - --- 565,569 ----