On Wed, Feb 04, 2015 at 04:16:34PM +0000, Timur Tabi wrote:
On 02/04/2015 10:08 AM, Mark Salter wrote:
acpi_os_remap() is used to map ACPI tables. These tables may be in ram which are already included in the kernel's linear RAM mapping. So we need ioremap_cache to avoid two mappings to the same physical page having different caching attributes.
Would it be possible to modify ioremap() so that it can tell whether the memory is already mapped in some way, and then use a compatible remapping?
No. We have some semantics for ioremap() and it should return non-cacheable mapping.
ioremap_cache() checks whether the page is RAM already and returns the existing kernel linear mapping on arm64.