STRUCT VFIO_CCW_PRIVATE(9)
β¨ struct vfio_ccw_private(9) β¨
okay so this is a page from the Kernel API Manual bestie, and it's literally just the whole private struct for vfio_ccw laid out for you π
πΈ NAME πΈ
struct vfio_ccw_private β
no cap, the original NAME line has no description after the dash, so we're not inventing one. the vibes are mysterious. the struct is not. π«Ά
π SYNOPSIS π
here's the whole thing, character for character, don't @ me:
struct vfio_ccw_private {
struct vfio_device vdev;
int state;
struct completion *completion;
struct ccw_io_region *io_region;
struct mutex io_mutex;
struct vfio_ccw_region *region;
struct ccw_cmd_region *cmd_region;
struct ccw_schib_region *schib_region;
struct ccw_crw_region *crw_region;
int num_regions;
struct channel_program cp;
struct irb irb;
union scsw scsw;
spinlock_t crw_lock;
struct list_head crw;
struct eventfd_ctx *io_trigger;
struct eventfd_ctx *crw_trigger;
struct eventfd_ctx *req_trigger;
struct work_struct io_work;
struct work_struct crw_work;
struct work_struct notoper_work;
};
π¦ Members π¦
okay this is the main character section, every single field, no skips, let's go π₯
vdevβ the embedded VFIO device, it's living inside the struct rent-free πstateβ the internal state of the devicecompletionβ the synchronization helper for I/O completion, it's giving "let me know when you're done" energyio_regionβ the MMIO region where input/output I/O arguments and results goio_mutexβ protects against concurrent update of I/O resources and thecplifecycle, so nobody's editing at the same time πregionβ additional regions for the other subchannel operationscmd_regionβ MMIO region for asynchronous I/O commands other thanSTARTschib_regionβ MMIO region for SCHIB informationcrw_regionβ MMIO region for getting channel report wordsnum_regionsβ the number of additional regionscpβ the channel program for the current I/O operationirbβ irb info received from interruptscswβ scsw infocrw_lockβ serialization of CRW list information, one at a time pls βcrwβ the list of Channel Report Word elementsio_triggerβ eventfd ctx for signaling userspace I/O resultscrw_triggerβ eventfd ctx for signaling userspace CRW informationreq_triggerβ eventfd ctx for signaling userspace to return deviceio_workβ work for the deferral process of I/O handlingcrw_workβ work for the deferral process of CRW handlingnotoper_workβ work for deferred processing in not-operational state
π SEE ALSO π
- Kernel file
./drivers/s390/cio/vfio_ccw_private.hstructvfio_ccw_parent(9)
lowkey important: the SEE ALSO above is exactly what the page says, go read vfio_ccw_parent(9) too bestie, iykyk β
and that's the whole page, periodt π this lil piece of the Kernel API Manual came from ./drivers/s390/cio, dated October 2026, and yes the version tag is literally just struct vfio_ccw_private(9) again because the manpage said so π slay π
π¦ 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