mirror of
https://github.com/acpica/acpica/
synced 2025-01-13 12:59:18 +03:00
Implement full region support for multiple address spaces.
SpaceId is now part of the REGION object. BZ 429
This commit is contained in:
parent
b7a4d987f8
commit
8e7f513ef6
@ -146,6 +146,7 @@ typedef struct Region
|
||||
UINT32 Length;
|
||||
void *Buffer;
|
||||
void *NextRegion;
|
||||
UINT8 SpaceId;
|
||||
|
||||
} REGION;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aeexec - Support routines for AcpiExec utility
|
||||
* $Revision: 1.112 $
|
||||
* $Revision: 1.113 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -446,6 +446,7 @@ AeRegionHandler (
|
||||
void *BufferValue;
|
||||
UINT32 ByteWidth;
|
||||
UINT32 i;
|
||||
UINT8 SpaceId;
|
||||
|
||||
|
||||
ACPI_FUNCTION_NAME (AeRegionHandler);
|
||||
@ -464,12 +465,13 @@ AeRegionHandler (
|
||||
*/
|
||||
BaseAddress = RegionObject->Region.Address;
|
||||
Length = (ACPI_SIZE) RegionObject->Region.Length;
|
||||
SpaceId = RegionObject->Region.SpaceId;
|
||||
|
||||
ACPI_DEBUG_PRINT ((ACPI_DB_OPREGION, "Operation Region request on %s at 0x%X\n",
|
||||
AcpiUtGetRegionName (RegionObject->Region.SpaceId),
|
||||
(UINT32) Address));
|
||||
|
||||
if (RegionObject->Region.SpaceId == ACPI_ADR_SPACE_SMBUS)
|
||||
if (SpaceId == ACPI_ADR_SPACE_SMBUS)
|
||||
{
|
||||
Length = 0;
|
||||
|
||||
@ -549,7 +551,8 @@ AeRegionHandler (
|
||||
while (!BufferExists && RegionElement)
|
||||
{
|
||||
if (RegionElement->Address == BaseAddress &&
|
||||
RegionElement->Length == Length)
|
||||
RegionElement->Length == Length &&
|
||||
RegionElement->SpaceId == SpaceId)
|
||||
{
|
||||
BufferExists = TRUE;
|
||||
}
|
||||
@ -584,6 +587,7 @@ AeRegionHandler (
|
||||
ACPI_MEMSET (RegionElement->Buffer, 0, Length);
|
||||
RegionElement->Address = BaseAddress;
|
||||
RegionElement->Length = Length;
|
||||
RegionElement->SpaceId = SpaceId;
|
||||
RegionElement->NextRegion = NULL;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user