diff options
Diffstat (limited to 'sys/contrib/dev/acpica/exresop.c')
-rw-r--r-- | sys/contrib/dev/acpica/exresop.c | 129 |
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)) { |