Support for method owner IDs

date	2000.04.21.22.16.00;	author rmoore1;	state Exp;
This commit is contained in:
aystarik 2005-06-29 18:19:04 +00:00
parent 63afacefc8
commit d502443186
2 changed files with 38 additions and 17 deletions

View File

@ -361,7 +361,7 @@ NsRemoveReference (
ACPI_STATUS
NsDeleteNamespaceByOwner (
UINT16 TableId)
UINT16 OwnerId)
{
NAME_TABLE_ENTRY *ChildHandle;
UINT32 Level;
@ -388,7 +388,7 @@ NsDeleteNamespaceByOwner (
ChildHandle = NsGetNextObject (ACPI_TYPE_Any, ParentHandle, ChildHandle);
if (ChildHandle)
{
if (ChildHandle->TableId == TableId)
if (ChildHandle->OwnerId == OwnerId)
{
/* Found an object - delete the object within the Value field */
@ -411,7 +411,7 @@ NsDeleteNamespaceByOwner (
ChildHandle = 0;
}
else if (ChildHandle->TableId == TableId)
else if (ChildHandle->OwnerId == OwnerId)
{
NsRemoveReference (ChildHandle);
}
@ -432,7 +432,7 @@ NsDeleteNamespaceByOwner (
if (Level != 0)
{
if (ParentHandle->TableId == TableId)
if (ParentHandle->OwnerId == OwnerId)
{
NsRemoveReference (ParentHandle);
}

View File

@ -204,28 +204,28 @@ NsDumpOneObject (
void *Context,
void **ReturnValue)
{
UINT32 DownstreamSiblingMask = 0;
INT32 LevelTmp;
UINT32 WhichBit;
ACPI_WALK_INFO *Info = (ACPI_WALK_INFO *) Context;
NAME_TABLE_ENTRY *Appendage = NULL;
NAME_TABLE_ENTRY *ThisEntry;
UINT32 Size = 0;
UINT8 *Value;
ACPI_OBJECT_INTERNAL *ObjDesc = NULL;
ACPI_OBJECT_TYPE ObjType;
ACPI_OBJECT_TYPE Type;
UINT32 DbLevel = (UINT32) Context;
UINT32 BytesToDump;
UINT32 DownstreamSiblingMask = 0;
INT32 LevelTmp;
UINT32 WhichBit;
UINT32 Size = 0;
ThisEntry = NsConvertHandleToEntry(ObjHandle);
ThisEntry = NsConvertHandleToEntry (ObjHandle);
LevelTmp = Level;
Type = ThisEntry->Type;
WhichBit = 1;
if (!(DebugLevel & DbLevel))
if (!(DebugLevel & Info->DebugLevel))
{
return AE_OK;
}
@ -236,6 +236,15 @@ NsDumpOneObject (
return AE_OK;
}
/* Check if the owner matches */
if ((Info->OwnerId != ACPI_UINT32_MAX) &&
(Info->OwnerId != ThisEntry->OwnerId))
{
return AE_OK;
}
/* Indent the object according to the level */
while (LevelTmp--)
@ -492,11 +501,13 @@ Cleanup:
* FUNCTION: NsDumpObjects
*
* PARAMETERS: Type - Object type to be dumped
* MaxDepth - Maximum depth of dump. Use INT_MAX
* MaxDepth - Maximum depth of dump. Use ACPI_UINT32_MAX
* for an effectively unlimited depth.
* OwnerId - Dump only objects owned by this ID. Use
* ACPI_UINT32_MAX to match all owners.
* StartHandle - Where in namespace to start/end search
*
* DESCRIPTION: Dump typed objects
* DESCRIPTION: Dump typed objects within the loaded namespace.
* Uses NsWalkNamespace in conjunction with NsDumpOneObject.
*
***************************************************************************/
@ -504,12 +515,18 @@ Cleanup:
void
NsDumpObjects (
ACPI_OBJECT_TYPE Type,
INT32 MaxDepth,
UINT32 MaxDepth,
UINT32 OwnerId,
ACPI_HANDLE StartHandle)
{
ACPI_WALK_INFO Info;
Info.DebugLevel = TRACE_TABLES;
Info.OwnerId = OwnerId;
NsWalkNamespace (Type, StartHandle, MaxDepth, NS_WALK_NO_UNLOCK, NsDumpOneObject,
(void *) TRACE_TABLES, NULL);
(void *) &Info, NULL);
}
@ -631,7 +648,7 @@ NsDumpTables (
}
NsDumpObjects (ACPI_TYPE_Any, MaxDepth, SearchHandle);
NsDumpObjects (ACPI_TYPE_Any, MaxDepth, ACPI_UINT32_MAX, SearchHandle);
return_VOID;
}
@ -652,11 +669,15 @@ NsDumpEntry (
ACPI_HANDLE Handle,
UINT32 DebugLevel)
{
ACPI_WALK_INFO Info;
FUNCTION_TRACE_PTR ("NsDumpEntry", Handle);
Info.DebugLevel = DebugLevel;
Info.OwnerId = ACPI_UINT32_MAX;
NsDumpOneObject (Handle, 1, (void *) DebugLevel, NULL);
NsDumpOneObject (Handle, 1, &Info, NULL);
DEBUG_PRINT (TRACE_EXEC, ("leave NsDumpEntry %p\n", Handle));
return_VOID;