mirror of
https://github.com/acpica/acpica/
synced 2025-02-24 01:14:46 +03:00
Initial support for multiple object attachments and related interfaces
date 2001.11.08.21.04.00; author rmoore1; state Exp;
This commit is contained in:
parent
bb8355888f
commit
c4f48ba66c
@ -1,7 +1,7 @@
|
||||
/*******************************************************************************
|
||||
*
|
||||
* Module Name: utdelete - object deletion and reference count utilities
|
||||
* $Revision: 1.82 $
|
||||
* $Revision: 1.83 $
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -145,6 +145,7 @@ AcpiUtDeleteInternalObj (
|
||||
{
|
||||
void *ObjPointer = NULL;
|
||||
ACPI_OPERAND_OBJECT *HandlerDesc;
|
||||
ACPI_OPERAND_OBJECT *SecondDesc;
|
||||
|
||||
|
||||
FUNCTION_TRACE_PTR ("UtDeleteInternalObj", Object);
|
||||
@ -234,7 +235,6 @@ AcpiUtDeleteInternalObj (
|
||||
AcpiOsDeleteSemaphore (Object->Method.Semaphore);
|
||||
Object->Method.Semaphore = NULL;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
@ -242,7 +242,8 @@ AcpiUtDeleteInternalObj (
|
||||
|
||||
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "***** Region %p\n", Object));
|
||||
|
||||
if (Object->Region.Extra)
|
||||
SecondDesc = AcpiNsGetSecondaryObject (Object);
|
||||
if (SecondDesc)
|
||||
{
|
||||
/*
|
||||
* Free the RegionContext if and only if the handler is one of the
|
||||
@ -253,12 +254,12 @@ AcpiUtDeleteInternalObj (
|
||||
if ((HandlerDesc) &&
|
||||
(HandlerDesc->AddrHandler.Hflags == ADDR_HANDLER_DEFAULT_INSTALLED))
|
||||
{
|
||||
ObjPointer = Object->Region.Extra->Extra.RegionContext;
|
||||
ObjPointer = SecondDesc->Extra.RegionContext;
|
||||
}
|
||||
|
||||
/* Now we can free the Extra object */
|
||||
|
||||
AcpiUtDeleteObjectDesc (Object->Region.Extra);
|
||||
AcpiUtDeleteObjectDesc (SecondDesc);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -267,12 +268,14 @@ AcpiUtDeleteInternalObj (
|
||||
|
||||
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "***** Buffer Field %p\n", Object));
|
||||
|
||||
if (Object->BufferField.Extra)
|
||||
SecondDesc = AcpiNsGetSecondaryObject (Object);
|
||||
if (SecondDesc)
|
||||
{
|
||||
AcpiUtDeleteObjectDesc (Object->BufferField.Extra);
|
||||
AcpiUtDeleteObjectDesc (SecondDesc);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: utglobal - Global variables for the ACPI subsystem
|
||||
* $Revision: 1.132 $
|
||||
* $Revision: 1.135 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -324,7 +324,8 @@ const UINT8 AcpiGbl_NsProperties[] =
|
||||
NSP_NEWSCOPE, /* 32 Scope */
|
||||
NSP_LOCAL, /* 33 DefAny */
|
||||
NSP_NORMAL, /* 34 Extra */
|
||||
NSP_NORMAL /* 35 Invalid */
|
||||
NSP_NORMAL, /* 35 Data */
|
||||
NSP_NORMAL /* 36 Invalid */
|
||||
};
|
||||
|
||||
|
||||
@ -448,7 +449,7 @@ static const NATIVE_CHAR *AcpiGbl_NsTypeNames[] = /* printable names of AC
|
||||
/* 11 */ "Power",
|
||||
/* 12 */ "Processor",
|
||||
/* 13 */ "Thermal",
|
||||
/* 14 */ "BuffField",
|
||||
/* 14 */ "BufferField",
|
||||
/* 15 */ "DdbHandle",
|
||||
/* 16 */ "DebugObject",
|
||||
/* 17 */ "RegionField",
|
||||
@ -458,8 +459,8 @@ static const NATIVE_CHAR *AcpiGbl_NsTypeNames[] = /* printable names of AC
|
||||
/* 21 */ "Alias",
|
||||
/* 22 */ "Notify",
|
||||
/* 23 */ "AddrHandler",
|
||||
/* 24 */ "ResrcDesc",
|
||||
/* 25 */ "ResrcField",
|
||||
/* 24 */ "ResourceDesc",
|
||||
/* 25 */ "ResourceFld",
|
||||
/* 26 */ "RegionFldDfn",
|
||||
/* 27 */ "BankFldDfn",
|
||||
/* 28 */ "IndexFldDfn",
|
||||
@ -469,7 +470,8 @@ static const NATIVE_CHAR *AcpiGbl_NsTypeNames[] = /* printable names of AC
|
||||
/* 32 */ "Scope",
|
||||
/* 33 */ "DefAny",
|
||||
/* 34 */ "Extra",
|
||||
/* 35 */ "Invalid"
|
||||
/* 35 */ "Data",
|
||||
/* 36 */ "Invalid"
|
||||
};
|
||||
|
||||
|
||||
@ -501,7 +503,7 @@ AcpiUtGetTypeName (
|
||||
|
||||
/* Region type decoding */
|
||||
|
||||
const NATIVE_CHAR *AcpiGbl_RegionTypes[NUM_REGION_TYPES] =
|
||||
const NATIVE_CHAR *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS] =
|
||||
{
|
||||
"SystemMemory",
|
||||
"SystemIO",
|
||||
@ -530,12 +532,12 @@ AcpiUtGetRegionName (
|
||||
UINT8 SpaceId)
|
||||
{
|
||||
|
||||
if (SpaceId >= USER_REGION_BEGIN)
|
||||
if (SpaceId >= ACPI_USER_REGION_BEGIN)
|
||||
{
|
||||
return ("UserDefinedRegion");
|
||||
}
|
||||
|
||||
else if (SpaceId >= NUM_REGION_TYPES)
|
||||
else if (SpaceId >= ACPI_NUM_PREDEFINED_REGIONS)
|
||||
{
|
||||
return ("InvalidSpaceID");
|
||||
}
|
||||
@ -573,9 +575,8 @@ const NATIVE_CHAR *AcpiGbl_AccessTypes[NUM_ACCESS_TYPES] =
|
||||
"ByteAcc",
|
||||
"WordAcc",
|
||||
"DWordAcc",
|
||||
"BlockAcc",
|
||||
"SMBSendRecvAcc",
|
||||
"SMBQuickAcc"
|
||||
"QWordAcc",
|
||||
"BufferAcc",
|
||||
};
|
||||
|
||||
|
||||
@ -739,15 +740,6 @@ AcpiUtInitGlobals (
|
||||
AcpiGbl_AcpiTables[i].Count = 0;
|
||||
}
|
||||
|
||||
|
||||
/* Address Space handler array */
|
||||
|
||||
for (i = 0; i < ACPI_NUM_ADDRESS_SPACES; i++)
|
||||
{
|
||||
AcpiGbl_AddressSpaces[i].Handler = NULL;
|
||||
AcpiGbl_AddressSpaces[i].Context = NULL;
|
||||
}
|
||||
|
||||
/* Mutex locked flags */
|
||||
|
||||
for (i = 0; i < NUM_MTX; i++)
|
||||
|
Loading…
x
Reference in New Issue
Block a user