summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/dswstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/dswstate.c')
-rw-r--r--sys/contrib/dev/acpica/dswstate.c164
1 files changed, 82 insertions, 82 deletions
diff --git a/sys/contrib/dev/acpica/dswstate.c b/sys/contrib/dev/acpica/dswstate.c
index dc0b394..561378c 100644
--- a/sys/contrib/dev/acpica/dswstate.c
+++ b/sys/contrib/dev/acpica/dswstate.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswstate - Dispatcher parse tree walk management routines
- * $Revision: 38 $
+ * $Revision: 45 $
*
*****************************************************************************/
@@ -124,11 +124,10 @@
#include "acnamesp.h"
#include "acinterp.h"
-#define _COMPONENT DISPATCHER
+#define _COMPONENT ACPI_DISPATCHER
MODULE_NAME ("dswstate")
-
/*******************************************************************************
*
* FUNCTION: AcpiDsResultInsert
@@ -151,27 +150,29 @@ AcpiDsResultInsert (
ACPI_GENERIC_STATE *State;
+ PROC_NAME ("DsResultInsert");
+
+
State = WalkState->Results;
if (!State)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultInsert: No result object pushed! State=%p\n",
+ DEBUG_PRINTP (ACPI_ERROR, ("No result object pushed! State=%p\n",
WalkState));
return (AE_NOT_EXIST);
}
if (Index >= OBJ_NUM_OPERANDS)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultInsert: Index out of range: %X Obj=%p State=%p Num=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Index out of range: %X Obj=%p State=%p Num=%X\n",
Index, Object, WalkState, State->Results.NumResults));
return (AE_BAD_PARAMETER);
}
if (!Object)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultInsert: Null Object! Index=%X Obj=%p State=%p Num=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Null Object! Index=%X Obj=%p State=%p Num=%X\n",
Index, Object, WalkState, State->Results.NumResults));
return (AE_BAD_PARAMETER);
}
@@ -179,9 +180,9 @@ AcpiDsResultInsert (
State->Results.ObjDesc [Index] = Object;
State->Results.NumResults++;
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultStackPush: Obj=%p [%s] State=%p Num=%X Cur=%X\n",
- Object, Object ? AcpiCmGetTypeName (((ACPI_OPERAND_OBJECT *) Object)->Common.Type) : "NULL",
+ DEBUG_PRINTP (TRACE_EXEC,
+ ("Obj=%p [%s] State=%p Num=%X Cur=%X\n",
+ Object, Object ? AcpiUtGetTypeName (((ACPI_OPERAND_OBJECT *) Object)->Common.Type) : "NULL",
WalkState, State->Results.NumResults, WalkState->CurrentResult));
return (AE_OK);
@@ -211,19 +212,21 @@ AcpiDsResultRemove (
ACPI_GENERIC_STATE *State;
+ PROC_NAME ("DsResultRemove");
+
+
State = WalkState->Results;
if (!State)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultRemove: No result object pushed! State=%p\n",
+ DEBUG_PRINTP (ACPI_ERROR, ("No result object pushed! State=%p\n",
WalkState));
return (AE_NOT_EXIST);
}
if (Index >= OBJ_NUM_OPERANDS)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultRemove: Index out of range: %X State=%p Num=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Index out of range: %X State=%p Num=%X\n",
Index, WalkState, State->Results.NumResults));
}
@@ -232,8 +235,8 @@ AcpiDsResultRemove (
if (!State->Results.ObjDesc [Index])
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultStackRemove: Null operand! State=%p #Ops=%X, Index=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Null operand! State=%p #Ops=%X, Index=%X\n",
WalkState, State->Results.NumResults, Index));
return (AE_AML_NO_RETURN_VALUE);
}
@@ -245,9 +248,9 @@ AcpiDsResultRemove (
*Object = State->Results.ObjDesc [Index];
State->Results.ObjDesc [Index] = NULL;
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultStackRemove: Obj=%p [%s] Index=%X State=%p Num=%X\n",
- *Object, (*Object) ? AcpiCmGetTypeName ((*Object)->Common.Type) : "NULL",
+ DEBUG_PRINTP (TRACE_EXEC,
+ ("Obj=%p [%s] Index=%X State=%p Num=%X\n",
+ *Object, (*Object) ? AcpiUtGetTypeName ((*Object)->Common.Type) : "NULL",
Index, WalkState, State->Results.NumResults));
return (AE_OK);
@@ -277,6 +280,9 @@ AcpiDsResultPop (
ACPI_GENERIC_STATE *State;
+ PROC_NAME ("DsResultPop");
+
+
State = WalkState->Results;
if (!State)
{
@@ -286,8 +292,7 @@ AcpiDsResultPop (
if (!State->Results.NumResults)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPop: Result stack is empty! State=%p\n",
+ DEBUG_PRINTP (ACPI_ERROR, ("Result stack is empty! State=%p\n",
WalkState));
return (AE_AML_NO_RETURN_VALUE);
}
@@ -305,9 +310,8 @@ AcpiDsResultPop (
*Object = State->Results.ObjDesc [Index -1];
State->Results.ObjDesc [Index -1] = NULL;
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultStackRemove: Obj=%p [%s] Index=%X State=%p Num=%X\n",
- *Object, (*Object) ? AcpiCmGetTypeName ((*Object)->Common.Type) : "NULL",
+ DEBUG_PRINTP (TRACE_EXEC, ("Obj=%p [%s] Index=%X State=%p Num=%X\n",
+ *Object, (*Object) ? AcpiUtGetTypeName ((*Object)->Common.Type) : "NULL",
Index -1, WalkState, State->Results.NumResults));
return (AE_OK);
@@ -315,9 +319,7 @@ AcpiDsResultPop (
}
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPop: No result objects! State=%p\n",
- WalkState));
+ DEBUG_PRINTP (ACPI_ERROR, ("No result objects! State=%p\n", WalkState));
return (AE_AML_NO_RETURN_VALUE);
}
@@ -344,21 +346,21 @@ AcpiDsResultPopFromBottom (
ACPI_GENERIC_STATE *State;
+ PROC_NAME ("DsResultPopFromBottom");
+
+
State = WalkState->Results;
if (!State)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPopFromBottom: Warning: No result object pushed! State=%p\n",
- WalkState));
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Warning: No result object pushed! State=%p\n", WalkState));
return (AE_NOT_EXIST);
}
if (!State->Results.NumResults)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPopFromBottom: No result objects! State=%p\n",
- WalkState));
+ DEBUG_PRINTP (ACPI_ERROR, ("No result objects! State=%p\n", WalkState));
return (AE_AML_NO_RETURN_VALUE);
}
@@ -380,15 +382,13 @@ AcpiDsResultPopFromBottom (
if (!*Object)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPopFromBottom: Null operand! State=%p #Ops=%X, Index=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR, ("Null operand! State=%p #Ops=%X, Index=%X\n",
WalkState, State->Results.NumResults, Index));
return (AE_AML_NO_RETURN_VALUE);
}
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultPopFromBottom: Obj=%p [%s], Results=%p State=%p\n",
- *Object, (*Object) ? AcpiCmGetTypeName ((*Object)->Common.Type) : "NULL",
+ DEBUG_PRINTP (TRACE_EXEC, ("Obj=%p [%s], Results=%p State=%p\n",
+ *Object, (*Object) ? AcpiUtGetTypeName ((*Object)->Common.Type) : "NULL",
State, WalkState));
@@ -417,26 +417,27 @@ AcpiDsResultPush (
ACPI_GENERIC_STATE *State;
+ PROC_NAME ("DsResultPush");
+
+
State = WalkState->Results;
if (!State)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPush: No result stack frame\n"));
+ DEBUG_PRINTP (ACPI_ERROR, ("No result stack frame\n"));
return (AE_AML_INTERNAL);
}
if (State->Results.NumResults == OBJ_NUM_OPERANDS)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPush: Result stack overflow: Obj=%p State=%p Num=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR,
+ ("Result stack overflow: Obj=%p State=%p Num=%X\n",
Object, WalkState, State->Results.NumResults));
return (AE_STACK_OVERFLOW);
}
if (!Object)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsResultPush: Null Object! Obj=%p State=%p Num=%X\n",
+ DEBUG_PRINTP (ACPI_ERROR, ("Null Object! Obj=%p State=%p Num=%X\n",
Object, WalkState, State->Results.NumResults));
return (AE_BAD_PARAMETER);
}
@@ -445,9 +446,8 @@ AcpiDsResultPush (
State->Results.ObjDesc [State->Results.NumResults] = Object;
State->Results.NumResults++;
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultPush: Obj=%p [%s] State=%p Num=%X Cur=%X\n",
- Object, Object ? AcpiCmGetTypeName (((ACPI_OPERAND_OBJECT *) Object)->Common.Type) : "NULL",
+ DEBUG_PRINTP (TRACE_EXEC, ("Obj=%p [%s] State=%p Num=%X Cur=%X\n",
+ Object, Object ? AcpiUtGetTypeName (((ACPI_OPERAND_OBJECT *) Object)->Common.Type) : "NULL",
WalkState, State->Results.NumResults, WalkState->CurrentResult));
return (AE_OK);
@@ -474,16 +474,15 @@ AcpiDsResultStackPush (
ACPI_GENERIC_STATE *State;
- State = AcpiCmCreateGenericState ();
+ State = AcpiUtCreateGenericState ();
if (!State)
{
return (AE_NO_MEMORY);
}
- AcpiCmPushGenericState (&WalkState->Results, State);
+ AcpiUtPushGenericState (&WalkState->Results, State);
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultStackPush: Results=%p State=%p\n",
+ DEBUG_PRINT (TRACE_EXEC, ("DsResultStackPush: Results=%p State=%p\n",
State, WalkState));
return (AE_OK);
@@ -513,20 +512,19 @@ AcpiDsResultStackPop (
if (WalkState->Results == NULL)
{
- DEBUG_PRINT (TRACE_EXEC,
- ("DsResultStackPop: Underflow - State=%p\n",
+ DEBUG_PRINT (TRACE_EXEC, ("DsResultStackPop: Underflow - State=%p\n",
WalkState));
return (AE_AML_NO_OPERAND);
}
- State = AcpiCmPopGenericState (&WalkState->Results);
+ State = AcpiUtPopGenericState (&WalkState->Results);
DEBUG_PRINT (TRACE_EXEC,
("DsResultStackPop: Result=%p RemainingResults=%X State=%p\n",
State, State->Results.NumResults, WalkState));
- AcpiCmDeleteGenericState (State);
+ AcpiUtDeleteGenericState (State);
return (AE_OK);
}
@@ -561,7 +559,7 @@ AcpiDsObjStackDeleteAll (
{
if (WalkState->Operands[i])
{
- AcpiCmRemoveReference (WalkState->Operands[i]);
+ AcpiUtRemoveReference (WalkState->Operands[i]);
WalkState->Operands[i] = NULL;
}
}
@@ -606,7 +604,7 @@ AcpiDsObjStackPush (
WalkState->NumOperands++;
DEBUG_PRINT (TRACE_EXEC, ("DsObjStackPush: Obj=%p [%s] State=%p #Ops=%X\n",
- Object, AcpiCmGetTypeName (((ACPI_OPERAND_OBJECT *) Object)->Common.Type),
+ Object, AcpiUtGetTypeName (((ACPI_OPERAND_OBJECT *) Object)->Common.Type),
WalkState, WalkState->NumOperands));
return (AE_OK);
@@ -641,10 +639,10 @@ AcpiDsObjStackPopObject (
DEBUG_PRINT (ACPI_ERROR,
("DsObjStackPop: Missing operand/stack empty! State=%p #Ops=%X\n",
WalkState, WalkState->NumOperands));
+ *Object = NULL;
return (AE_AML_NO_OPERAND);
}
-
/* Pop the stack */
WalkState->NumOperands--;
@@ -656,6 +654,7 @@ AcpiDsObjStackPopObject (
DEBUG_PRINT (ACPI_ERROR,
("DsObjStackPop: Null operand! State=%p #Ops=%X\n",
WalkState, WalkState->NumOperands));
+ *Object = NULL;
return (AE_AML_NO_OPERAND);
}
@@ -665,7 +664,7 @@ AcpiDsObjStackPopObject (
WalkState->Operands [WalkState->NumOperands] = NULL;
DEBUG_PRINT (TRACE_EXEC, ("DsObjStackPopObject: Obj=%p [%s] State=%p #Ops=%X\n",
- *Object, AcpiCmGetTypeName ((*Object)->Common.Type),
+ *Object, AcpiUtGetTypeName ((*Object)->Common.Type),
WalkState, WalkState->NumOperands));
return (AE_OK);
@@ -760,7 +759,7 @@ AcpiDsObjStackPopAndDelete (
ObjDesc = WalkState->Operands [WalkState->NumOperands];
if (ObjDesc)
{
- AcpiCmRemoveReference (WalkState->Operands [WalkState->NumOperands]);
+ AcpiUtRemoveReference (WalkState->Operands [WalkState->NumOperands]);
WalkState->Operands [WalkState->NumOperands] = NULL;
}
}
@@ -800,14 +799,14 @@ AcpiDsObjStackGetValue (
if (WalkState->NumOperands == 0)
{
- return_VALUE (NULL);
+ return_PTR (NULL);
}
/* or if the index is past the top of the stack */
if (Index > (WalkState->NumOperands - (UINT32) 1))
{
- return_VALUE (NULL);
+ return_PTR (NULL);
}
@@ -835,7 +834,8 @@ AcpiDsGetCurrentWalkState (
{
- DEBUG_PRINT (TRACE_PARSE, ("DsGetCurrentWalkState, =%p\n", WalkList->WalkState));
+ DEBUG_PRINT (TRACE_PARSE, ("DsGetCurrentWalkState, =%p\n",
+ WalkList->WalkState));
if (!WalkList)
{
@@ -947,7 +947,7 @@ AcpiDsCreateWalkState (
FUNCTION_TRACE ("DsCreateWalkState");
- AcpiCmAcquireMutex (ACPI_MTX_CACHES);
+ AcpiUtAcquireMutex (ACPI_MTX_CACHES);
AcpiGbl_WalkStateCacheRequests++;
/* Check the cache first */
@@ -962,23 +962,23 @@ AcpiDsCreateWalkState (
AcpiGbl_WalkStateCacheHits++;
AcpiGbl_WalkStateCacheDepth--;
- DEBUG_PRINT (TRACE_EXEC, ("DsCreateWalkState: State %p from cache\n", WalkState));
+ DEBUG_PRINTP (TRACE_EXEC, ("State %p from cache\n", WalkState));
- AcpiCmReleaseMutex (ACPI_MTX_CACHES);
+ AcpiUtReleaseMutex (ACPI_MTX_CACHES);
}
else
{
/* The cache is empty, create a new object */
- /* Avoid deadlock with AcpiCmCallocate */
+ /* Avoid deadlock with AcpiUtCallocate */
- AcpiCmReleaseMutex (ACPI_MTX_CACHES);
+ AcpiUtReleaseMutex (ACPI_MTX_CACHES);
- WalkState = AcpiCmCallocate (sizeof (ACPI_WALK_STATE));
+ WalkState = AcpiUtCallocate (sizeof (ACPI_WALK_STATE));
if (!WalkState)
{
- return_VALUE (NULL);
+ return_PTR (NULL);
}
}
@@ -986,6 +986,7 @@ AcpiDsCreateWalkState (
WalkState->OwnerId = OwnerId;
WalkState->Origin = Origin;
WalkState->MethodDesc = MthDesc;
+ WalkState->WalkList = WalkList;
/* Init the method args/local */
@@ -998,7 +999,7 @@ AcpiDsCreateWalkState (
Status = AcpiDsResultStackPush (WalkState);
if (ACPI_FAILURE (Status))
{
- return_VALUE (NULL);
+ return_PTR (NULL);
}
@@ -1039,8 +1040,7 @@ AcpiDsDeleteWalkState (
if (WalkState->DataType != ACPI_DESC_TYPE_WALK)
{
- DEBUG_PRINT (ACPI_ERROR,
- ("DsDeleteWalkState: **** %p not a valid walk state\n", WalkState));
+ DEBUG_PRINTP (ACPI_ERROR, ("%p is not a valid walk state\n", WalkState));
return;
}
@@ -1052,7 +1052,7 @@ AcpiDsDeleteWalkState (
State = WalkState->ControlState;
WalkState->ControlState = State->Common.Next;
- AcpiCmDeleteGenericState (State);
+ AcpiUtDeleteGenericState (State);
}
/* Always must free any linked parse states */
@@ -1062,7 +1062,7 @@ AcpiDsDeleteWalkState (
State = WalkState->ScopeInfo;
WalkState->ScopeInfo = State->Common.Next;
- AcpiCmDeleteGenericState (State);
+ AcpiUtDeleteGenericState (State);
}
/* Always must free any stacked result states */
@@ -1072,7 +1072,7 @@ AcpiDsDeleteWalkState (
State = WalkState->Results;
WalkState->Results = State->Common.Next;
- AcpiCmDeleteGenericState (State);
+ AcpiUtDeleteGenericState (State);
}
@@ -1080,14 +1080,14 @@ AcpiDsDeleteWalkState (
if (AcpiGbl_WalkStateCacheDepth >= MAX_WALK_CACHE_DEPTH)
{
- AcpiCmFree (WalkState);
+ AcpiUtFree (WalkState);
}
/* Otherwise put this object back into the cache */
else
{
- AcpiCmAcquireMutex (ACPI_MTX_CACHES);
+ AcpiUtAcquireMutex (ACPI_MTX_CACHES);
/* Clear the state */
@@ -1101,7 +1101,7 @@ AcpiDsDeleteWalkState (
AcpiGbl_WalkStateCacheDepth++;
- AcpiCmReleaseMutex (ACPI_MTX_CACHES);
+ AcpiUtReleaseMutex (ACPI_MTX_CACHES);
}
return_VOID;
@@ -1138,7 +1138,7 @@ AcpiDsDeleteWalkStateCache (
/* Delete one cached state object */
Next = AcpiGbl_WalkStateCache->Next;
- AcpiCmFree (AcpiGbl_WalkStateCache);
+ AcpiUtFree (AcpiGbl_WalkStateCache);
AcpiGbl_WalkStateCache = Next;
AcpiGbl_WalkStateCacheDepth--;
}
OpenPOWER on IntegriCloud