Use pmap_mapdev()/pmap_unmapdev() to map device memory instead of using

AcpiOsMapMemory()/AcpiOsUnmapMemory() (-> pmap_mapbios()/pmap_unmapbios())
for AcpiOsReadMemory() and AcpiOsWriteMemory().  Although they do not sound
too obvious, these functions are exclusively used to access memory mapped
IO in ACPICA.
This commit is contained in:
Jung-uk Kim 2010-07-16 03:59:50 +00:00
parent 866e6c5adb
commit aa353b1b6b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210155

View File

@ -97,7 +97,7 @@ AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 *Value, UINT32 Width)
{
void *LogicalAddress;
LogicalAddress = AcpiOsMapMemory(Address, Width / 8);
LogicalAddress = pmap_mapdev(Address, Width / 8);
if (LogicalAddress == NULL)
return (AE_NOT_EXIST);
@ -113,7 +113,7 @@ AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 *Value, UINT32 Width)
break;
}
AcpiOsUnmapMemory(LogicalAddress, Width / 8);
pmap_unmapdev((vm_offset_t)LogicalAddress, Width / 8);
return (AE_OK);
}
@ -123,7 +123,7 @@ AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 Value, UINT32 Width)
{
void *LogicalAddress;
LogicalAddress = AcpiOsMapMemory(Address, Width / 8);
LogicalAddress = pmap_mapdev(Address, Width / 8);
if (LogicalAddress == NULL)
return (AE_NOT_EXIST);
@ -139,7 +139,7 @@ AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS Address, UINT32 Value, UINT32 Width)
break;
}
AcpiOsUnmapMemory(LogicalAddress, Width / 8);
pmap_unmapdev((vm_offset_t)LogicalAddress, Width / 8);
return (AE_OK);
}