IOREMAP() AND IOREMAP_*() VARIANTS(9)
β¨ ioremap() and ioremap_*() variants β¨
okay so bestie, this is the ioremap(9) page from the Kernel API Manual, and it's literally the whole vibe for ioremap() and every ioremap_*() variant. No cap, it's short but it matters. π
Architectures with an MMU are expected to provide ioremap and iounmap themselves, or rely on GENERIC_IOREMAP. For NOMMU architectures we provide a default nop-op implementation. That implementation expects the physical address used for MMIO to already be marked as uncached, and it can be used as kernel virtual addresses. π¦
ioremap_wc and ioremap_wt can provide more relaxed caching attributes for specific drivers if the architecture chooses to implement them. If they are not implemented, we fall back to plain ioremap. Conversely, ioremap_np can provide stricter non-posted write semantics if the architecture implements them. β¨
π SEE ALSO π
- Kernel file
./include/asm-generic/io.h memset_io(9)memcpy_fromio(9)memcpy_toio(9)
π source/version./include/asm-genericΒ· dateOctober 2026Β· that's the cute sign-off, bestie β periodt. π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms