summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/exresop.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/exresop.c')
-rw-r--r--sys/contrib/dev/acpica/exresop.c129
1 files changed, 63 insertions, 66 deletions
diff --git a/sys/contrib/dev/acpica/exresop.c b/sys/contrib/dev/acpica/exresop.c
index d57d2fb..fb93f70 100644
--- a/sys/contrib/dev/acpica/exresop.c
+++ b/sys/contrib/dev/acpica/exresop.c
@@ -1,8 +1,8 @@
/******************************************************************************
*
- * Module Name: amresop - AML Interpreter operand/object resolution
- * $Revision: 22 $
+ * Module Name: exresop - AML Interpreter operand/object resolution
+ * $Revision: 29 $
*
*****************************************************************************/
@@ -115,7 +115,7 @@
*
*****************************************************************************/
-#define __AMRESOP_C__
+#define __EXRESOP_C__
#include "acpi.h"
#include "amlcode.h"
@@ -127,13 +127,13 @@
#include "acevents.h"
-#define _COMPONENT INTERPRETER
- MODULE_NAME ("amresop")
+#define _COMPONENT ACPI_EXECUTER
+ MODULE_NAME ("exresop")
/*******************************************************************************
*
- * FUNCTION: AcpiAmlCheckObjectType
+ * FUNCTION: AcpiExCheckObjectType
*
* PARAMETERS: TypeNeeded Object type needed
* ThisType Actual object type
@@ -146,7 +146,7 @@
******************************************************************************/
ACPI_STATUS
-AcpiAmlCheckObjectType (
+AcpiExCheckObjectType (
ACPI_OBJECT_TYPE TypeNeeded,
ACPI_OBJECT_TYPE ThisType,
void *Object)
@@ -160,25 +160,23 @@ AcpiAmlCheckObjectType (
return (AE_OK);
}
-
if (TypeNeeded != ThisType)
{
DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [%s], found [%s] %p\n",
- AcpiCmGetTypeName (TypeNeeded),
- AcpiCmGetTypeName (ThisType), Object));
+ ("ExCheckObjectType: Needed [%s], found [%s] %p\n",
+ AcpiUtGetTypeName (TypeNeeded),
+ AcpiUtGetTypeName (ThisType), Object));
return (AE_AML_OPERAND_TYPE);
}
-
return (AE_OK);
}
/*******************************************************************************
*
- * FUNCTION: AcpiAmlResolveOperands
+ * FUNCTION: AcpiExResolveOperands
*
* PARAMETERS: Opcode Opcode being interpreted
* StackPtr Top of operand stack
@@ -196,7 +194,7 @@ AcpiAmlCheckObjectType (
******************************************************************************/
ACPI_STATUS
-AcpiAmlResolveOperands (
+AcpiExResolveOperands (
UINT16 Opcode,
ACPI_OPERAND_OBJECT **StackPtr,
ACPI_WALK_STATE *WalkState)
@@ -204,14 +202,14 @@ AcpiAmlResolveOperands (
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_STATUS Status = AE_OK;
UINT8 ObjectType;
- ACPI_HANDLE TempHandle;
+ void *TempNode;
UINT32 ArgTypes;
ACPI_OPCODE_INFO *OpInfo;
UINT32 ThisArgType;
ACPI_OBJECT_TYPE TypeNeeded;
- FUNCTION_TRACE_U32 ("AmlResolveOperands", Opcode);
+ FUNCTION_TRACE_U32 ("ExResolveOperands", Opcode);
OpInfo = AcpiPsGetOpcodeInfo (Opcode);
@@ -224,31 +222,30 @@ AcpiAmlResolveOperands (
ArgTypes = OpInfo->RuntimeArgs;
if (ArgTypes == ARGI_INVALID_OPCODE)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("AmlResolveOperands: Internal error - %X is not a valid AML opcode\n", Opcode));
+ DEBUG_PRINTP (ACPI_ERROR, ("Internal - %X is not a valid AML opcode\n",
+ Opcode));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
- DEBUG_PRINT (TRACE_EXEC,
- ("AmlResolveOperands: Opcode %X OperandTypes=%X \n",
+ DEBUG_PRINTP (TRACE_EXEC, ("Opcode %X OperandTypes=%X \n",
Opcode, ArgTypes));
- /*
- * Normal exit is with *Types == '\0' at end of string.
+ /*
+ * Normal exit is with (ArgTypes == 0) at end of argument list.
* Function will return an exception from within the loop upon
- * finding an entry which is not, and cannot be converted
- * to, the required type; if stack underflows; or upon
- * finding a NULL stack entry (which "should never happen").
+ * finding an entry which is not (or cannot be converted
+ * to) the required type; if stack underflows; or upon
+ * finding a NULL stack entry (which should not happen).
*/
while (GET_CURRENT_ARG_TYPE (ArgTypes))
{
if (!StackPtr || !*StackPtr)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("AmlResolveOperands: Internal error - null stack entry at %X\n", StackPtr));
+ DEBUG_PRINTP (ACPI_ERROR, ("Internal - null stack entry at %X\n",
+ StackPtr));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
@@ -274,10 +271,9 @@ AcpiAmlResolveOperands (
/* Check for bad ACPI_OBJECT_TYPE */
- if (!AcpiAmlValidateObjectType (ObjectType))
+ if (!AcpiExValidateObjectType (ObjectType))
{
- DEBUG_PRINT (ACPI_ERROR,
- ("AmlResolveOperands: Bad operand object type [%X]\n",
+ DEBUG_PRINTP (ACPI_ERROR, ("Bad operand object type [%X]\n",
ObjectType));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -296,7 +292,7 @@ AcpiAmlResolveOperands (
}
- switch (ObjDesc->Reference.OpCode)
+ switch (ObjDesc->Reference.Opcode)
{
case AML_ZERO_OP:
case AML_ONE_OP:
@@ -314,7 +310,7 @@ AcpiAmlResolveOperands (
default:
DEBUG_PRINT (ACPI_INFO,
("Reference Opcode: Unknown [%02x]\n",
- ObjDesc->Reference.OpCode));
+ ObjDesc->Reference.Opcode));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
break;
@@ -365,7 +361,7 @@ AcpiAmlResolveOperands (
goto NextOperand;
}
- Status = AcpiAmlCheckObjectType (INTERNAL_TYPE_REFERENCE,
+ Status = AcpiExCheckObjectType (INTERNAL_TYPE_REFERENCE,
ObjectType, ObjDesc);
if (ACPI_FAILURE (Status))
{
@@ -373,16 +369,16 @@ AcpiAmlResolveOperands (
}
- if (AML_NAME_OP == ObjDesc->Reference.OpCode)
+ if (AML_NAME_OP == ObjDesc->Reference.Opcode)
{
/*
* Convert an indirect name ptr to direct name ptr and put
* it on the stack
*/
- TempHandle = ObjDesc->Reference.Object;
- AcpiCmRemoveReference (ObjDesc);
- (*StackPtr) = TempHandle;
+ TempNode = ObjDesc->Reference.Object;
+ AcpiUtRemoveReference (ObjDesc);
+ (*StackPtr) = TempNode;
}
goto NextOperand;
@@ -400,7 +396,7 @@ AcpiAmlResolveOperands (
if ((Opcode == AML_STORE_OP) &&
((*StackPtr)->Common.Type == INTERNAL_TYPE_REFERENCE) &&
- ((*StackPtr)->Reference.OpCode == AML_INDEX_OP))
+ ((*StackPtr)->Reference.Opcode == AML_INDEX_OP))
{
goto NextOperand;
}
@@ -412,7 +408,7 @@ AcpiAmlResolveOperands (
* Resolve this object to a value
*/
- Status = AcpiAmlResolveToValue (StackPtr, WalkState);
+ Status = AcpiExResolveToValue (StackPtr, WalkState);
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
@@ -481,14 +477,14 @@ AcpiAmlResolveOperands (
* Need an operand of type ACPI_TYPE_INTEGER,
* But we can implicitly convert from a STRING or BUFFER
*/
- Status = AcpiAmlConvertToInteger (StackPtr, WalkState);
+ Status = AcpiExConvertToInteger (StackPtr, WalkState);
if (ACPI_FAILURE (Status))
{
if (Status == AE_TYPE)
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Integer/String/Buffer], found [%s] %p\n",
- AcpiCmGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Integer/String/Buffer], found [%s] %p\n",
+ AcpiUtGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
@@ -506,14 +502,14 @@ AcpiAmlResolveOperands (
* Need an operand of type ACPI_TYPE_BUFFER,
* But we can implicitly convert from a STRING or INTEGER
*/
- Status = AcpiAmlConvertToBuffer (StackPtr, WalkState);
+ Status = AcpiExConvertToBuffer (StackPtr, WalkState);
if (ACPI_FAILURE (Status))
{
if (Status == AE_TYPE)
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Integer/String/Buffer], found [%s] %p\n",
- AcpiCmGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Integer/String/Buffer], found [%s] %p\n",
+ AcpiUtGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
@@ -531,14 +527,14 @@ AcpiAmlResolveOperands (
* Need an operand of type ACPI_TYPE_STRING,
* But we can implicitly convert from a BUFFER or INTEGER
*/
- Status = AcpiAmlConvertToString (StackPtr, WalkState);
+ Status = AcpiExConvertToString (StackPtr, WalkState);
if (ACPI_FAILURE (Status))
{
if (Status == AE_TYPE)
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Integer/String/Buffer], found [%s] %p\n",
- AcpiCmGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Integer/String/Buffer], found [%s] %p\n",
+ AcpiUtGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
@@ -558,9 +554,9 @@ AcpiAmlResolveOperands (
(ACPI_TYPE_STRING != (*StackPtr)->Common.Type) &&
(ACPI_TYPE_BUFFER != (*StackPtr)->Common.Type))
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Integer/String/Buffer], found [%s] %p\n",
- AcpiCmGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Integer/String/Buffer], found [%s] %p\n",
+ AcpiUtGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
@@ -585,9 +581,9 @@ AcpiAmlResolveOperands (
((*StackPtr)->Common.Type != ACPI_TYPE_PACKAGE) &&
((*StackPtr)->Common.Type != INTERNAL_TYPE_REFERENCE))
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Buf/Str/Pkg/Ref], found [%s] %p\n",
- AcpiCmGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Buf/Str/Pkg/Ref], found [%s] %p\n",
+ AcpiUtGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
@@ -599,8 +595,8 @@ AcpiAmlResolveOperands (
{
if (!(*StackPtr)->Reference.Node)
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Node Reference], found [%p]\n",
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Node Reference], found [%p]\n",
*StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -612,14 +608,15 @@ AcpiAmlResolveOperands (
case ARGI_COMPLEXOBJ:
- /* Need a buffer or package */
+ /* Need a buffer or package or (ACPI 2.0) String */
if (((*StackPtr)->Common.Type != ACPI_TYPE_BUFFER) &&
+ ((*StackPtr)->Common.Type != ACPI_TYPE_STRING) &&
((*StackPtr)->Common.Type != ACPI_TYPE_PACKAGE))
{
- DEBUG_PRINT (ACPI_INFO,
- ("AmlResolveOperands: Needed [Buf/Pkg], found [%s] %p\n",
- AcpiCmGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
+ DEBUG_PRINTP (ACPI_INFO,
+ ("Needed [Buf/Pkg], found [%s] %p\n",
+ AcpiUtGetTypeName ((*StackPtr)->Common.Type), *StackPtr));
return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
}
@@ -631,8 +628,8 @@ AcpiAmlResolveOperands (
/* Unknown type */
- DEBUG_PRINT (ACPI_ERROR,
- ("AmlResolveOperands: Internal error - Unknown ARGI type %X\n",
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Internal - Unknown ARGI type %X\n",
ThisArgType));
return_ACPI_STATUS (AE_BAD_PARAMETER);
@@ -643,7 +640,7 @@ AcpiAmlResolveOperands (
* Make sure that the original object was resolved to the
* required object type (Simple cases only).
*/
- Status = AcpiAmlCheckObjectType (TypeNeeded,
+ Status = AcpiExCheckObjectType (TypeNeeded,
(*StackPtr)->Common.Type, *StackPtr);
if (ACPI_FAILURE (Status))
{
OpenPOWER on IntegriCloud