hvc_iucv_put_chars(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… hvc_iucv_put_chars β€” HVC put_chars operation ✨

okay so real talk, this is a page from the Kernel API Manual (that's the manual name bestie, we're in kernel-space now 🧚) and it's about one very specific little function that moves characters around in the z/VM IUCV HVC driver. yes we're being that specific. and honestly? iconic of us.


✨ SYNOPSIS ✨

ssize_t hvc_iucv_put_chars (uint32_t vtermno , const u8 *buf , size_t
count );

like, look at her. ssize_t return, three args, no notes. πŸŽ€


🫢 ARGUMENTS 🫢

  • vtermno β€” the HVC virtual terminal number. it's giving "which terminal am I, again?" energy, and she's a uint32_t.
  • buf β€” a pointer to a buffer, and we're reading data from it. πŸ“
  • count β€” the size of the buffer that's available for reading. that's your limit, bestie, don't overread.

πŸ’– DESCRIPTION πŸ’–

so the HVC thread calls this method to write characters to the back-end. literally that's the whole job: characters go in, back-end gets them. and the function calls hvc_iucv_queue to queue terminal data for sending β€” that's the actual handoff, hvc_iucv_queue does the queueing, this function is the doorway. πŸšͺ✨

Locking: and this is the part where you sit up straight, because the method gets called under an irqsave spinlock, and it locks struct hvc_iucv_private->lock. so like… nested locking situation. πŸ’€ be normal about it. be careful about it. those are the same thing here.

no cap, if you're poking at locking behaviour in this path, read the line above twice. irqsave spinlock + a private lock is not a vibe you improvise in. 😭

🌈 SEE ALSO 🌈

the kernel file ./drivers/tty/hvc/hvc_iucv.c, plus the whole friend group β€” every single one of these, no skipping:

like, that's the whole group chat. all of them. πŸ’œ


πŸŽ€ and that's the page!! this one lives under ./drivers/tty/hvc, and the version you're holding is dated October 2026 β€” so yeah, she's from the future, main character energy fr fr. go queue some terminal data, you got this. πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from