[ACPICA] Update to version 20211217. CORE-17905
[reactos.git] / drivers / bus / acpi / acpica / executer / exregion.c
index b7e50e3..1e6c910 100644 (file)
@@ -584,9 +584,17 @@ AcpiExDataTableSpaceHandler (
     void                    *HandlerContext,
     void                    *RegionContext)
 {
+    ACPI_DATA_TABLE_MAPPING *Mapping;
+    char                    *Pointer;
+
+
     ACPI_FUNCTION_TRACE (ExDataTableSpaceHandler);
 
 
+    Mapping = (ACPI_DATA_TABLE_MAPPING *) RegionContext;
+    Pointer = ACPI_CAST_PTR (char, Mapping->Pointer) +
+        (Address - ACPI_PTR_TO_PHYSADDR (Mapping->Pointer));
+
     /*
      * Perform the memory read or write. The BitWidth was already
      * validated.
@@ -595,14 +603,12 @@ AcpiExDataTableSpaceHandler (
     {
     case ACPI_READ:
 
-        memcpy (ACPI_CAST_PTR (char, Value), ACPI_PHYSADDR_TO_PTR (Address),
-            ACPI_DIV_8 (BitWidth));
+        memcpy (ACPI_CAST_PTR (char, Value), Pointer, ACPI_DIV_8 (BitWidth));
         break;
 
     case ACPI_WRITE:
 
-        memcpy (ACPI_PHYSADDR_TO_PTR (Address), ACPI_CAST_PTR (char, Value),
-            ACPI_DIV_8 (BitWidth));
+        memcpy (Pointer, ACPI_CAST_PTR (char, Value), ACPI_DIV_8 (BitWidth));
         break;
 
     default: