diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2018-02-09 18:18:00 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2018-02-09 18:18:00 +0000 |
commit | 04f27355c01cb894338c3382792c0c2b75c86239 (patch) | |
tree | 1eacbedc15cb558e6ca546ff15e375a14d717ca7 /source/components | |
parent | 30321a234a02f257e7f87456c8660064d7acdbfd (diff) |
Notes
Diffstat (limited to 'source/components')
-rw-r--r-- | source/components/dispatcher/dsargs.c | 1 | ||||
-rw-r--r-- | source/components/dispatcher/dsopcode.c | 4 | ||||
-rw-r--r-- | source/components/dispatcher/dspkginit.c | 158 | ||||
-rw-r--r-- | source/components/dispatcher/dswexec.c | 4 | ||||
-rw-r--r-- | source/components/dispatcher/dswload.c | 2 | ||||
-rw-r--r-- | source/components/executer/exconvrt.c | 1 | ||||
-rw-r--r-- | source/components/executer/exnames.c | 7 | ||||
-rw-r--r-- | source/components/executer/exresop.c | 1 | ||||
-rw-r--r-- | source/components/namespace/nseval.c | 11 | ||||
-rw-r--r-- | source/components/namespace/nsinit.c | 7 | ||||
-rw-r--r-- | source/components/namespace/nsnames.c | 3 | ||||
-rw-r--r-- | source/components/namespace/nsparse.c | 8 | ||||
-rw-r--r-- | source/components/parser/psargs.c | 7 | ||||
-rw-r--r-- | source/components/parser/psloop.c | 4 | ||||
-rw-r--r-- | source/components/parser/psparse.c | 2 | ||||
-rw-r--r-- | source/components/parser/pstree.c | 1 | ||||
-rw-r--r-- | source/components/utilities/utcache.c | 5 | ||||
-rw-r--r-- | source/components/utilities/utdelete.c | 16 |
18 files changed, 145 insertions, 97 deletions
diff --git a/source/components/dispatcher/dsargs.c b/source/components/dispatcher/dsargs.c index 26adfb0b237e5..dd8c30f0f749c 100644 --- a/source/components/dispatcher/dsargs.c +++ b/source/components/dispatcher/dsargs.c @@ -481,6 +481,7 @@ AcpiDsGetPackageArguments ( Status = AcpiDsExecuteArguments (Node, Node, ObjDesc->Package.AmlLength, ObjDesc->Package.AmlStart); + return_ACPI_STATUS (Status); } diff --git a/source/components/dispatcher/dsopcode.c b/source/components/dispatcher/dsopcode.c index 71928fb777473..038993c774f3b 100644 --- a/source/components/dispatcher/dsopcode.c +++ b/source/components/dispatcher/dsopcode.c @@ -752,8 +752,8 @@ AcpiDsEvalDataObjectOperands ( if (!Op->Common.Value.Arg) { ACPI_ERROR ((AE_INFO, - "Dispatch: Missing child while executing TermArg for %X", - Op->Common.AmlOpcode)); + "Missing child while evaluating opcode %4.4X, Op %p", + Op->Common.AmlOpcode, Op)); return_ACPI_STATUS (AE_OK); } diff --git a/source/components/dispatcher/dspkginit.c b/source/components/dispatcher/dspkginit.c index 647f5d0dfec9b..a034df0dbff83 100644 --- a/source/components/dispatcher/dspkginit.c +++ b/source/components/dispatcher/dspkginit.c @@ -155,6 +155,7 @@ #include "amlcode.h" #include "acdispat.h" #include "acinterp.h" +#include "acparser.h" #define _COMPONENT ACPI_NAMESPACE @@ -208,6 +209,7 @@ AcpiDsBuildInternalPackageObj ( ACPI_PARSE_OBJECT *Parent; ACPI_OPERAND_OBJECT *ObjDesc = NULL; ACPI_STATUS Status = AE_OK; + BOOLEAN ModuleLevelCode = FALSE; UINT16 ReferenceCount; UINT32 Index; UINT32 i; @@ -216,6 +218,13 @@ AcpiDsBuildInternalPackageObj ( ACPI_FUNCTION_TRACE (DsBuildInternalPackageObj); + /* Check if we are executing module level code */ + + if (WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL) + { + ModuleLevelCode = TRUE; + } + /* Find the parent of a possibly nested package */ Parent = Op->Common.Parent; @@ -250,25 +259,43 @@ AcpiDsBuildInternalPackageObj ( /* * Allocate the element array (array of pointers to the individual - * objects) based on the NumElements parameter. Add an extra pointer slot - * so that the list is always null terminated. + * objects) if necessary. the count is based on the NumElements + * parameter. Add an extra pointer slot so that the list is always + * null terminated. */ - ObjDesc->Package.Elements = ACPI_ALLOCATE_ZEROED ( - ((ACPI_SIZE) ElementCount + 1) * sizeof (void *)); - if (!ObjDesc->Package.Elements) { - AcpiUtDeleteObjectDesc (ObjDesc); - return_ACPI_STATUS (AE_NO_MEMORY); + ObjDesc->Package.Elements = ACPI_ALLOCATE_ZEROED ( + ((ACPI_SIZE) ElementCount + 1) * sizeof (void *)); + + if (!ObjDesc->Package.Elements) + { + AcpiUtDeleteObjectDesc (ObjDesc); + return_ACPI_STATUS (AE_NO_MEMORY); + } + + ObjDesc->Package.Count = ElementCount; } - ObjDesc->Package.Count = ElementCount; + /* First arg is element count. Second arg begins the initializer list */ + Arg = Op->Common.Value.Arg; Arg = Arg->Common.Next; - if (Arg) + /* + * If we are executing module-level code, we will defer the + * full resolution of the package elements in order to support + * forward references from the elements. This provides + * compatibility with other ACPI implementations. + */ + if (ModuleLevelCode) { - ObjDesc->Package.Flags |= AOPOBJ_DATA_VALID; + ObjDesc->Package.AmlStart = WalkState->Aml; + ObjDesc->Package.AmlLength = 0; + + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_PARSE, + "%s: Deferring resolution of Package elements\n", + ACPI_GET_FUNCTION_NAME)); } /* @@ -308,12 +335,17 @@ AcpiDsBuildInternalPackageObj ( ACPI_ERROR ((AE_INFO, "%-48s", "****DS namepath not found")); } - /* - * Initialize this package element. This function handles the - * resolution of named references within the package. - */ - AcpiDsInitPackageElement (0, ObjDesc->Package.Elements[i], - NULL, &ObjDesc->Package.Elements[i]); + if (!ModuleLevelCode) + { + /* + * Initialize this package element. This function handles the + * resolution of named references within the package. + * Forward references from module-level code are deferred + * until all ACPI tables are loaded. + */ + AcpiDsInitPackageElement (0, ObjDesc->Package.Elements[i], + NULL, &ObjDesc->Package.Elements[i]); + } } if (*ObjDescPtr) @@ -383,15 +415,21 @@ AcpiDsBuildInternalPackageObj ( * NumElements count. * * Note: this is not an error, the package is padded out - * with NULLs. + * with NULLs as per the ACPI specification. */ - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "Package List length (%u) smaller than NumElements " + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, + "%s: Package List length (%u) smaller than NumElements " "count (%u), padded with null elements\n", - i, ElementCount)); + ACPI_GET_FUNCTION_NAME, i, ElementCount)); + } + + /* Module-level packages will be resolved later */ + + if (!ModuleLevelCode) + { + ObjDesc->Package.Flags |= AOPOBJ_DATA_VALID; } - ObjDesc->Package.Flags |= AOPOBJ_DATA_VALID; Op->Common.Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, ObjDesc); return_ACPI_STATUS (Status); } @@ -481,11 +519,12 @@ AcpiDsResolvePackageElement ( ACPI_OPERAND_OBJECT **ElementPtr) { ACPI_STATUS Status; + ACPI_STATUS Status2; ACPI_GENERIC_STATE ScopeInfo; ACPI_OPERAND_OBJECT *Element = *ElementPtr; ACPI_NAMESPACE_NODE *ResolvedNode; ACPI_NAMESPACE_NODE *OriginalNode; - char *ExternalPath = NULL; + char *ExternalPath = ""; ACPI_OBJECT_TYPE Type; @@ -496,6 +535,10 @@ AcpiDsResolvePackageElement ( if (Element->Reference.Resolved) { + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_PARSE, + "%s: Package element is already resolved\n", + ACPI_GET_FUNCTION_NAME)); + return_VOID; } @@ -510,14 +553,41 @@ AcpiDsResolvePackageElement ( NULL, &ResolvedNode); if (ACPI_FAILURE (Status)) { - Status = AcpiNsExternalizeName (ACPI_UINT32_MAX, - (char *) Element->Reference.Aml, - NULL, &ExternalPath); +#if defined ACPI_IGNORE_PACKAGE_RESOLUTION_ERRORS && !defined ACPI_APPLICATION + /* + * For the kernel-resident ACPICA, optionally be silent about the + * NOT_FOUND case. Although this is potentially a serious problem, + * it can generate a lot of noise/errors on platforms whose + * firmware carries around a bunch of unused Package objects. + * To disable these errors, define ACPI_IGNORE_PACKAGE_RESOLUTION_ERRORS + * in the OS-specific header. + * + * All errors are always reported for ACPICA applications such as + * AcpiExec. + */ + if (Status == AE_NOT_FOUND) + { + /* Reference name not found, set the element to NULL */ + + AcpiUtRemoveReference (*ElementPtr); + *ElementPtr = NULL; + return_VOID; + } +#endif + Status2 = AcpiNsExternalizeName (ACPI_UINT32_MAX, + (char *) Element->Reference.Aml, NULL, &ExternalPath); ACPI_EXCEPTION ((AE_INFO, Status, - "Could not find/resolve named package element: %s", ExternalPath)); + "While resolving a named reference package element - %s", + ExternalPath)); + if (ACPI_SUCCESS (Status2)) + { + ACPI_FREE (ExternalPath); + } + + /* Could not resolve name, set the element to NULL */ - ACPI_FREE (ExternalPath); + AcpiUtRemoveReference (*ElementPtr); *ElementPtr = NULL; return_VOID; } @@ -531,24 +601,6 @@ AcpiDsResolvePackageElement ( *ElementPtr = NULL; return_VOID; } -#if 0 - else if (ResolvedNode->Flags & ANOBJ_TEMPORARY) - { - /* - * A temporary node found here indicates that the reference is - * to a node that was created within this method. We are not - * going to allow it (especially if the package is returned - * from the method) -- the temporary node will be deleted out - * from under the method. (05/2017). - */ - ACPI_ERROR ((AE_INFO, - "Package element refers to a temporary name [%4.4s], " - "inserting a NULL element", - ResolvedNode->Name.Ascii)); - *ElementPtr = NULL; - return_VOID; - } -#endif /* * Special handling for Alias objects. We need ResolvedNode to point @@ -587,22 +639,6 @@ AcpiDsResolvePackageElement ( return_VOID; } -#if 0 -/* TBD - alias support */ - /* - * Special handling for Alias objects. We need to setup the type - * and the Op->Common.Node to point to the Alias target. Note, - * Alias has at most one level of indirection internally. - */ - Type = Op->Common.Node->Type; - if (Type == ACPI_TYPE_LOCAL_ALIAS) - { - Type = ObjDesc->Common.Type; - Op->Common.Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, - Op->Common.Node->Object); - } -#endif - switch (Type) { /* diff --git a/source/components/dispatcher/dswexec.c b/source/components/dispatcher/dswexec.c index d3a69fddc81cc..c39095f6c6917 100644 --- a/source/components/dispatcher/dswexec.c +++ b/source/components/dispatcher/dswexec.c @@ -723,8 +723,8 @@ AcpiDsExecEndOp ( case AML_TYPE_CREATE_OBJECT: ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, - "Executing CreateObject (Buffer/Package) Op=%p AMLPtr=%p\n", - Op, Op->Named.Data)); + "Executing CreateObject (Buffer/Package) Op=%p Child=%p ParentOpcode=%4.4X\n", + Op, Op->Named.Value.Arg, Op->Common.Parent->Common.AmlOpcode)); switch (Op->Common.Parent->Common.AmlOpcode) { diff --git a/source/components/dispatcher/dswload.c b/source/components/dispatcher/dswload.c index 9a5da369dfb59..91f5b30500423 100644 --- a/source/components/dispatcher/dswload.c +++ b/source/components/dispatcher/dswload.c @@ -264,7 +264,7 @@ AcpiDsLoad1BeginOp ( UINT32 Flags; - ACPI_FUNCTION_TRACE (DsLoad1BeginOp); + ACPI_FUNCTION_TRACE_PTR (DsLoad1BeginOp, WalkState->Op); Op = WalkState->Op; diff --git a/source/components/executer/exconvrt.c b/source/components/executer/exconvrt.c index 844f9549056f8..5c58746e3a4d3 100644 --- a/source/components/executer/exconvrt.c +++ b/source/components/executer/exconvrt.c @@ -757,6 +757,7 @@ AcpiExConvertToTargetType ( switch (GET_CURRENT_ARG_TYPE (WalkState->OpInfo->RuntimeArgs)) { case ARGI_SIMPLE_TARGET: + case ARGI_FIXED_TARGET: case ARGI_INTEGER_REF: /* Handles Increment, Decrement cases */ switch (DestinationType) diff --git a/source/components/executer/exnames.c b/source/components/executer/exnames.c index 3dc1998638230..ce000e5d0ca90 100644 --- a/source/components/executer/exnames.c +++ b/source/components/executer/exnames.c @@ -309,14 +309,11 @@ AcpiExNameSegment ( return_ACPI_STATUS (AE_CTRL_PENDING); } - ACPI_DEBUG_PRINT ((ACPI_DB_LOAD, "Bytes from stream:\n")); - for (Index = 0; (Index < ACPI_NAME_SIZE) && (AcpiUtValidNameChar (*AmlAddress, 0)); Index++) { CharBuf[Index] = *AmlAddress++; - ACPI_DEBUG_PRINT ((ACPI_DB_LOAD, "%c\n", CharBuf[Index])); } @@ -330,9 +327,9 @@ AcpiExNameSegment ( if (NameString) { - strcat (NameString, CharBuf); ACPI_DEBUG_PRINT ((ACPI_DB_NAMES, - "Appended to - %s\n", NameString)); + "Appending NameSeg %s\n", CharBuf)); + strcat (NameString, CharBuf); } else { diff --git a/source/components/executer/exresop.c b/source/components/executer/exresop.c index c6fa853dfd878..7fd2453514838 100644 --- a/source/components/executer/exresop.c +++ b/source/components/executer/exresop.c @@ -429,6 +429,7 @@ AcpiExResolveOperands ( 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 */ case ARGI_STORE_TARGET: diff --git a/source/components/namespace/nseval.c b/source/components/namespace/nseval.c index 14fcb95323ff8..b1e1af9a15caf 100644 --- a/source/components/namespace/nseval.c +++ b/source/components/namespace/nseval.c @@ -308,6 +308,7 @@ AcpiNsEvaluate ( */ switch (AcpiNsGetType (Info->Node)) { + case ACPI_TYPE_ANY: case ACPI_TYPE_DEVICE: case ACPI_TYPE_EVENT: case ACPI_TYPE_MUTEX: @@ -315,13 +316,13 @@ AcpiNsEvaluate ( case ACPI_TYPE_THERMAL: case ACPI_TYPE_LOCAL_SCOPE: /* - * 1) Disallow evaluation of certain object types. For these, - * object evaluation is undefined and not supported. + * 1) Disallow evaluation of these object types. For these, + * object evaluation is undefined. */ ACPI_ERROR ((AE_INFO, - "%s: Evaluation of object type [%s] is not supported", - Info->FullPathname, - AcpiUtGetTypeName (Info->Node->Type))); + "%s: This object type [%s] " + "never contains data and cannot be evaluated", + Info->FullPathname, AcpiUtGetTypeName (Info->Node->Type))); Status = AE_TYPE; goto Cleanup; diff --git a/source/components/namespace/nsinit.c b/source/components/namespace/nsinit.c index 4a075bed5171f..dc76db9f6a70c 100644 --- a/source/components/namespace/nsinit.c +++ b/source/components/namespace/nsinit.c @@ -418,7 +418,7 @@ ErrorExit: * RETURN: Status * * DESCRIPTION: Callback from AcpiWalkNamespace. Invoked for every object - * within the namespace. + * within the namespace. * * Currently, the only objects that require initialization are: * 1) Methods @@ -540,6 +540,10 @@ AcpiNsInitOneObject ( break; } + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_PARSE, + "%s: Completing resolution of Package elements\n", + ACPI_GET_FUNCTION_NAME)); + /* * Resolve all named references in package objects (and all * sub-packages). This action has been deferred until the entire @@ -548,6 +552,7 @@ AcpiNsInitOneObject ( */ Status = AcpiUtWalkPackageTree (ObjDesc, NULL, AcpiDsInitPackageElement, NULL); + ObjDesc->Package.Flags |= AOPOBJ_DATA_VALID; break; diff --git a/source/components/namespace/nsnames.c b/source/components/namespace/nsnames.c index b29eac4211757..097037cbe58db 100644 --- a/source/components/namespace/nsnames.c +++ b/source/components/namespace/nsnames.c @@ -511,6 +511,9 @@ AcpiNsGetNormalizedPathname ( (void) AcpiNsBuildNormalizedPath (Node, NameBuffer, Size, NoTrailing); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_NAMES, "%s: Path \"%s\"\n", + ACPI_GET_FUNCTION_NAME, NameBuffer)); + return_PTR (NameBuffer); } diff --git a/source/components/namespace/nsparse.c b/source/components/namespace/nsparse.c index baa37d26888d1..bb24bab91a8d8 100644 --- a/source/components/namespace/nsparse.c +++ b/source/components/namespace/nsparse.c @@ -232,8 +232,9 @@ AcpiNsExecuteTable ( goto Cleanup; } - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, - "Create table code block: %p\n", MethodObj)); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_PARSE, + "%s: Create table pseudo-method for [%4.4s] @%p, method %p\n", + ACPI_GET_FUNCTION_NAME, Table->Signature, Table, MethodObj)); MethodObj->Method.AmlStart = AmlStart; MethodObj->Method.AmlLength = AmlLength; @@ -404,7 +405,8 @@ AcpiNsParseTable ( if (AcpiGbl_ParseTableAsTermList) { - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "**** Start load pass\n")); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_PARSE, + "%s: **** Start table execution pass\n", ACPI_GET_FUNCTION_NAME)); Status = AcpiNsExecuteTable (TableIndex, StartNode); if (ACPI_FAILURE (Status)) diff --git a/source/components/parser/psargs.c b/source/components/parser/psargs.c index 0e0b1002daef7..c9c173717e384 100644 --- a/source/components/parser/psargs.c +++ b/source/components/parser/psargs.c @@ -1067,10 +1067,9 @@ AcpiPsGetNextArg ( case ARGP_DATAOBJ: case ARGP_TERMARG: - - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, - "**** TermArg/DataObj: %s (%2.2X)\n", - AcpiUtGetArgumentTypeName (ArgType), ArgType)); + ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, + "**** TermArg/DataObj: %s (%2.2X)\n", + AcpiUtGetArgumentTypeName (ArgType), ArgType)); /* Single complex argument, nothing returned */ diff --git a/source/components/parser/psloop.c b/source/components/parser/psloop.c index fd868f50f769e..74e8f0d6ebda8 100644 --- a/source/components/parser/psloop.c +++ b/source/components/parser/psloop.c @@ -283,7 +283,7 @@ AcpiPsGetArguments ( } ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, - "Final argument count: %u pass %u\n", + "Final argument count: %8.8X pass %u\n", WalkState->ArgCount, WalkState->PassNumber)); /* @@ -697,7 +697,7 @@ AcpiPsParseLoop ( /* Check for arguments that need to be processed */ ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, - "Parseloop: argument count: %u\n", WalkState->ArgCount)); + "Parseloop: argument count: %8.8X\n", WalkState->ArgCount)); if (WalkState->ArgCount) { diff --git a/source/components/parser/psparse.c b/source/components/parser/psparse.c index ce7ae94a8b286..0ad62b771bef4 100644 --- a/source/components/parser/psparse.c +++ b/source/components/parser/psparse.c @@ -576,7 +576,7 @@ AcpiPsParseAml ( if (!WalkState->ParserState.Aml) { - return_ACPI_STATUS (AE_NULL_OBJECT); + return_ACPI_STATUS (AE_BAD_ADDRESS); } /* Create and initialize a new thread state */ diff --git a/source/components/parser/pstree.c b/source/components/parser/pstree.c index da1d222d08768..baed92560d44d 100644 --- a/source/components/parser/pstree.c +++ b/source/components/parser/pstree.c @@ -438,6 +438,7 @@ AcpiPsGetChild ( case AML_BUFFER_OP: case AML_PACKAGE_OP: + case AML_VARIABLE_PACKAGE_OP: case AML_METHOD_OP: case AML_IF_OP: case AML_WHILE_OP: diff --git a/source/components/utilities/utcache.c b/source/components/utilities/utcache.c index 881dbf350ea6e..b324f28cff03e 100644 --- a/source/components/utilities/utcache.c +++ b/source/components/utilities/utcache.c @@ -415,8 +415,9 @@ AcpiOsAcquireObject ( Cache->CurrentDepth--; ACPI_MEM_TRACKING (Cache->Hits++); - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, - "Object %p from %s cache\n", Object, Cache->ListName)); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EXEC, + "%s: Object %p from %s cache\n", + ACPI_GET_FUNCTION_NAME, Object, Cache->ListName)); Status = AcpiUtReleaseMutex (ACPI_MTX_CACHES); if (ACPI_FAILURE (Status)) diff --git a/source/components/utilities/utdelete.c b/source/components/utilities/utdelete.c index 377ddfe5b37b7..4565d8fa5ae38 100644 --- a/source/components/utilities/utdelete.c +++ b/source/components/utilities/utdelete.c @@ -454,8 +454,8 @@ AcpiUtDeleteInternalObj ( /* Now the object can be safely deleted */ - ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS, "Deleting Object %p [%s]\n", - Object, AcpiUtGetObjectTypeName (Object))); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_ALLOCATIONS, "%s: Deleting Object %p [%s]\n", + ACPI_GET_FUNCTION_NAME, Object, AcpiUtGetObjectTypeName (Object))); AcpiUtDeleteObjectDesc (Object); return_VOID; @@ -581,9 +581,9 @@ AcpiUtUpdateRefCount ( Object)); } - ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS, - "Obj %p Type %.2X Refs %.2X [Decremented]\n", - Object, Object->Common.Type, NewCount)); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_ALLOCATIONS, + "%s: Obj %p Type %.2X Refs %.2X [Decremented]\n", + ACPI_GET_FUNCTION_NAME, Object, Object->Common.Type, NewCount)); /* Actually delete the object on a reference count of zero */ @@ -906,9 +906,9 @@ AcpiUtRemoveReference ( return; } - ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS, - "Obj %p Current Refs=%X [To Be Decremented]\n", - Object, Object->Common.ReferenceCount)); + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_ALLOCATIONS, + "%s: Obj %p Current Refs=%X [To Be Decremented]\n", + ACPI_GET_FUNCTION_NAME, Object, Object->Common.ReferenceCount)); /* * Decrement the reference count, and only actually delete the object |