pio_copy(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– pio_copy(9) β€” the Kernel API Manual page, bestie edition πŸ’–

okay so this is pio_copy from the Kernel API Manual, and honestly? she's a little workhorse and we're gonna stan her properly.


✨ NAME ✨

pio_copy β€” copy data block to MMIO space πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void pio_copy (struct hfi1_devdata *dd , struct pio_buf *pbuf , u64 pbc
, const void *from , size_t count );

πŸŽ€ ARGUMENTS πŸŽ€

  • dd β€” the hfi1 dev data, aka the main character's ID πŸ’–
  • pbuf β€” a number of blocks allocated within a PIO send context, slay
  • pbc β€” the PBC to send, no cap
  • from β€” the source, and it MUST be 8 byte aligned β€” like, non-negotiable, bestie 🫢
  • count β€” number of DWORD (32-bit) quantities to copy from source, fr fr

🌸 DESCRIPTION 🌸

Copy data from source to PIO Send Buffer memory, 8 bytes at a time. That's the whole vibe πŸ’«

You must always write full BLOCK_SIZE bytes blocks β€” not a byte less, not being cute about it, full blocks only πŸ™ˆ

The first block must be written to the corresponding SOP=1 address. Like, that's where she starts, periodt πŸ‘‘

Known things (iykyk):

  • pbuf->start always starts on a block boundary
  • pbuf can wrap only at a block boundary

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/infiniband/hw/hfi1/pio_copy.c β€” go read her, she's iconic 🧚


ok that's the whole page and yes she's short but she's perfect πŸ’€βœ¨

and that's a wrap, bestie!! this one's from the ./drivers/infiniband/hw/hfi1 directory, dated October 2026 β€” screenshot it, cite it, live laugh love it πŸ’–πŸŽ€πŸ¦‹β­πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from