You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As detailed in f910abf, the ioremap() function has serious limitations:
ioremap() doesn't doseparate virtual memory allocation. Instead, it uses the user-provided I/O memory address as the virtual address, which can cause problems if I/O memory address space overlaps with physical address space, for example.
ioremap() does not set any appropriate cache bits for the page table entry, which can cause problems when accessing the I/O memory region (e.g. stale reads or writes not hitting I/O device because of write-back).
Both issues need to be addressed for ioremap() to be robust and work across different devices and platforms.
The text was updated successfully, but these errors were encountered:
As detailed in f910abf, the
ioremap()
function has serious limitations:ioremap()
doesn't doseparate virtual memory allocation. Instead, it uses the user-provided I/O memory address as the virtual address, which can cause problems if I/O memory address space overlaps with physical address space, for example.ioremap()
does not set any appropriate cache bits for the page table entry, which can cause problems when accessing the I/O memory region (e.g. stale reads or writes not hitting I/O device because of write-back).Both issues need to be addressed for
ioremap()
to be robust and work across different devices and platforms.The text was updated successfully, but these errors were encountered: