summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/Osd
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/acpica/Osd')
-rw-r--r--sys/dev/acpica/Osd/OsdMemory.c10
-rw-r--r--sys/dev/acpica/Osd/OsdTable.c8
2 files changed, 16 insertions, 2 deletions
diff --git a/sys/dev/acpica/Osd/OsdMemory.c b/sys/dev/acpica/Osd/OsdMemory.c
index 615c4b5..b806642 100644
--- a/sys/dev/acpica/Osd/OsdMemory.c
+++ b/sys/dev/acpica/Osd/OsdMemory.c
@@ -87,7 +87,7 @@ AcpiOsWritable (void *Pointer, ACPI_SIZE Length)
}
ACPI_STATUS
-AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 *Value, UINT32 Width)
+AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT64 *Value, UINT32 Width)
{
void *LogicalAddress;
@@ -105,6 +105,9 @@ AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 *Value, UINT32 Width)
case 32:
*Value = *(volatile uint32_t *)LogicalAddress;
break;
+ case 64:
+ *Value = *(volatile uint64_t *)LogicalAddress;
+ break;
}
pmap_unmapdev((vm_offset_t)LogicalAddress, Width / 8);
@@ -113,7 +116,7 @@ AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 *Value, UINT32 Width)
}
ACPI_STATUS
-AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 Value, UINT32 Width)
+AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS Address, UINT64 Value, UINT32 Width)
{
void *LogicalAddress;
@@ -131,6 +134,9 @@ AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 Value, UINT32 Width)
case 32:
*(volatile uint32_t *)LogicalAddress = Value;
break;
+ case 64:
+ *(volatile uint64_t *)LogicalAddress = Value;
+ break;
}
pmap_unmapdev((vm_offset_t)LogicalAddress, Width / 8);
diff --git a/sys/dev/acpica/Osd/OsdTable.c b/sys/dev/acpica/Osd/OsdTable.c
index def88c6..da220e5 100644
--- a/sys/dev/acpica/Osd/OsdTable.c
+++ b/sys/dev/acpica/Osd/OsdTable.c
@@ -96,3 +96,11 @@ AcpiOsTableOverride(ACPI_TABLE_HEADER *ExistingTable,
return (AE_OK);
}
+
+ACPI_STATUS
+AcpiOsPhysicalTableOverride(ACPI_TABLE_HEADER *ExistingTable,
+ ACPI_PHYSICAL_ADDRESS *NewAddress, UINT32 *NewTableLength)
+{
+
+ return (AE_SUPPORT);
+}
OpenPOWER on IntegriCloud