Print this page
acpica-unix2-20130823
PANKOVs restructure
*** 1,14 ****
-
/******************************************************************************
*
* Module Name: exresop - AML Interpreter operand/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: exresop - AML Interpreter operand/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:
*** 223,233 ****
*StackPtr = ObjDesc;
ObjectType = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Type;
}
break;
-
case ACPI_DESC_TYPE_OPERAND:
/* ACPI internal object */
ObjectType = ObjDesc->Common.Type;
--- 222,231 ----
*** 276,286 ****
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
}
break;
-
default:
/* Invalid descriptor */
ACPI_ERROR ((AE_INFO, "Invalid descriptor %p [%s]",
--- 274,283 ----
*** 323,333 ****
case ARGI_OBJECT_REF:
case ARGI_DEVICE_REF:
case ARGI_TARGETREF: /* Allows implicit conversion rules before store */
case ARGI_FIXED_TARGET: /* No implicit conversion before store to target */
case ARGI_SIMPLE_TARGET: /* Name, Local, or Arg - no implicit conversion */
-
/*
* Need an operand of type ACPI_TYPE_LOCAL_REFERENCE
* A Namespace Node is OK as-is
*/
if (ACPI_GET_DESCRIPTOR_TYPE (ObjDesc) == ACPI_DESC_TYPE_NAMED)
--- 320,329 ----
*** 341,353 ****
{
return_ACPI_STATUS (Status);
}
goto NextOperand;
-
case ARGI_DATAREFOBJ: /* Store operator only */
-
/*
* We don't want to resolve IndexOp reference objects during
* a store because this would be an implicit DeRefOf operation.
* Instead, we just want to store the reference object.
* -- All others must be resolved below.
--- 337,347 ----
*** 359,369 ****
--- 353,365 ----
goto NextOperand;
}
break;
default:
+
/* All cases covered above */
+
break;
}
/*
* Resolve this object to a value
*** 452,464 ****
{
AcpiUtRemoveReference (ObjDesc);
}
goto NextOperand;
-
case ARGI_BUFFER:
-
/*
* Need an operand of type ACPI_TYPE_BUFFER,
* But we can implicitly convert from a STRING or INTEGER
* Aka - "Implicit Source Operand Conversion"
*/
--- 448,458 ----
*** 481,493 ****
{
AcpiUtRemoveReference (ObjDesc);
}
goto NextOperand;
-
case ARGI_STRING:
-
/*
* Need an operand of type ACPI_TYPE_STRING,
* But we can implicitly convert from a BUFFER or INTEGER
* Aka - "Implicit Source Operand Conversion"
*/
--- 475,485 ----
*** 511,521 ****
{
AcpiUtRemoveReference (ObjDesc);
}
goto NextOperand;
-
case ARGI_COMPUTEDATA:
/* Need an operand of type INTEGER, STRING or BUFFER */
switch (ObjDesc->Common.Type)
--- 503,512 ----
*** 534,544 ****
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
-
case ARGI_BUFFER_OR_STRING:
/* Need an operand of type STRING or BUFFER */
switch (ObjDesc->Common.Type)
--- 525,534 ----
*** 572,582 ****
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
-
case ARGI_DATAOBJECT:
/*
* ARGI_DATAOBJECT is only used by the SizeOf operator.
* Need a buffer, string, package, or RefOf reference.
*
--- 562,571 ----
*** 592,610 ****
/* Valid operand */
break;
default:
ACPI_ERROR ((AE_INFO,
"Needed [Buffer/String/Package/Reference], found [%s] %p",
AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
-
case ARGI_COMPLEXOBJ:
/* Need a buffer or package or (ACPI 2.0) String */
switch (ObjDesc->Common.Type)
--- 581,599 ----
/* Valid operand */
break;
default:
+
ACPI_ERROR ((AE_INFO,
"Needed [Buffer/String/Package/Reference], found [%s] %p",
AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
case ARGI_COMPLEXOBJ:
/* Need a buffer or package or (ACPI 2.0) String */
switch (ObjDesc->Common.Type)
*** 615,633 ****
/* Valid operand */
break;
default:
ACPI_ERROR ((AE_INFO,
"Needed [Buffer/String/Package], found [%s] %p",
AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
-
case ARGI_REGION_OR_BUFFER: /* Used by Load() only */
/* Need an operand of type REGION or a BUFFER (which could be a resolved region field) */
switch (ObjDesc->Common.Type)
--- 604,622 ----
/* Valid operand */
break;
default:
+
ACPI_ERROR ((AE_INFO,
"Needed [Buffer/String/Package], found [%s] %p",
AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
case ARGI_REGION_OR_BUFFER: /* Used by Load() only */
/* Need an operand of type REGION or a BUFFER (which could be a resolved region field) */
switch (ObjDesc->Common.Type)
*** 637,655 ****
/* Valid operand */
break;
default:
ACPI_ERROR ((AE_INFO,
"Needed [Region/Buffer], found [%s] %p",
AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
-
case ARGI_DATAREFOBJ:
/* Used by the Store() operator only */
switch (ObjDesc->Common.Type)
--- 626,644 ----
/* Valid operand */
break;
default:
+
ACPI_ERROR ((AE_INFO,
"Needed [Region/Buffer], found [%s] %p",
AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
case ARGI_DATAREFOBJ:
/* Used by the Store() operator only */
switch (ObjDesc->Common.Type)
*** 693,703 ****
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
goto NextOperand;
-
default:
/* Unknown type */
ACPI_ERROR ((AE_INFO,
--- 682,691 ----
*** 732,738 ****
ACPI_DUMP_OPERANDS (WalkState->Operands,
AcpiPsGetOpcodeName (Opcode), WalkState->NumOperands);
return_ACPI_STATUS (Status);
}
-
-
--- 720,724 ----