Описание тега ioremap
`ioremap()` maps bus memory into CPU space for memory mapped I/O in the Linux kernel
void __iomem *ioremap(unsigned long port, unsigned long size) is the function in the Linux kernel that maps bus memory into CPU space. It will perform a platform specific sequence of operations to make bus memory CPU accessible via the read{b,w,l} write{b,w,l}
functions and the other memory mapped I/O helper functions. The returned address is not guaranteed to be usable directly as a virtual address.
Cache behavior through the newly established mapping could be one of but are not limited to:
- Uncached
- Write-back
- Write Combining
References
- Linux Device Drivers 3rd Edition, chp8 Allocating Memory, page 226
- x86 Page Attribute Table: PATting Linux by Venkatesh Pallipadi and Suresh Siddha