diff options
Diffstat (limited to 'sys/dev/acpica/Osd')
-rw-r--r-- | sys/dev/acpica/Osd/OsdMemory.c | 10 | ||||
-rw-r--r-- | sys/dev/acpica/Osd/OsdTable.c | 8 |
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); +} |