Print this page
update to acpica-unix2-20140114
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 - 2014, 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 ----