diff options
Diffstat (limited to 'sys/contrib/dev/acpica/exresop.c')
-rw-r--r-- | sys/contrib/dev/acpica/exresop.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/contrib/dev/acpica/exresop.c b/sys/contrib/dev/acpica/exresop.c index 2245d7e..23125ba0 100644 --- a/sys/contrib/dev/acpica/exresop.c +++ b/sys/contrib/dev/acpica/exresop.c @@ -2,7 +2,7 @@ /****************************************************************************** * * Module Name: exresop - AML Interpreter operand/object resolution - * $Revision: 62 $ + * $Revision: 65 $ * *****************************************************************************/ @@ -311,6 +311,7 @@ AcpiExResolveOperands ( case AML_REF_OF_OP: case AML_ARG_OP: case AML_LOCAL_OP: + case AML_LOAD_OP: /* DdbHandle from LOAD_OP or LOAD_TABLE_OP */ ACPI_DEBUG_ONLY_MEMBERS (ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Reference Opcode: %s\n", OpInfo->Name))); @@ -318,8 +319,9 @@ AcpiExResolveOperands ( default: ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Unknown Reference Opcode %X\n", - ObjDesc->Reference.Opcode)); + "Unknown Reference Opcode %X [%s]\n", + ObjDesc->Reference.Opcode, + (AcpiPsGetOpcodeInfo (ObjDesc->Reference.Opcode))->Name)); return_ACPI_STATUS (AE_AML_OPERAND_TYPE); } @@ -332,8 +334,8 @@ AcpiExResolveOperands ( /* Invalid descriptor */ ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Bad descriptor type %X in Obj %p\n", - ACPI_GET_DESCRIPTOR_TYPE (ObjDesc), ObjDesc)); + "Invalid descriptor %p [%s]\n", + ObjDesc, AcpiUtGetDescriptorName (ObjDesc))); return_ACPI_STATUS (AE_AML_OPERAND_TYPE); } @@ -473,6 +475,13 @@ AcpiExResolveOperands ( TypeNeeded = ACPI_TYPE_ANY; break; + case ARGI_DDBHANDLE: + + /* Need an operand of type ACPI_TYPE_DDB_HANDLE */ + + TypeNeeded = ACPI_TYPE_LOCAL_REFERENCE; + break; + /* * The more complex cases allow multiple resolved object types |