__iowrite64_copy(9)
π
__iowrite64_copy β bestie's guide to yeeting data into MMIO π
Ok so this is a page from the Kernel API Manual, and it's honestly such a vibe once you get it. Sit down, grab a strawberry drink π, and let's go.
β¨ NAME β¨
__iowrite64_copy β copy data to MMIO space, in 64-bit or 32-bit units π¦
πΈ SYNOPSIS πΈ
void __iowrite64_copy (void __iomem *to , const void *from , size_t
count );
π ARGUMENTS π
toβ the destination, and it lives in MMIO space. It must be 64-bit aligned, no cap, don't try to be cute about it πfromβ the source. Also must be 64-bit aligned. Same energy, same rule π«Άcountβ how many 64-bit quantities you wanna copy. That's the unit, that's the number, that's it β¨
π DESCRIPTION π
So what it does: it copies data from kernel space over to MMIO space, in units of 32 or 64 bits at a time. Slay. π
But here's the part where you gotta listen, bestie:
The order of access is not guaranteed, and no memory barrier is performed afterwards. Like, at all. Not a one. π
So don't go assuming things happen in a nice tidy sequence, because they lowkey might not, and there's no barrier waiting at the end to make it all make sense. Iconic behaviour, honestly, but you gotta respect it. π₯
π¦ SEE ALSO π¦
- Kernel file
./lib/iomap_copy.c __iowrite32_copy(9)__ioread32_copy(9)
Ok that's the whole page, you ate that ππ
Sign-off era: this lil gem comes from the source/version <hotpink>./lib</hotpink>, dated October 2026 β β and the page name is of course __iowrite64_copy(9). 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