STRUCT CHANNEL_PROGRAM(9)
π struct channel_program(9) β like, the whole kernel API manual, bestie
okay so this is a page from the Kernel API Manual and it's all about struct channel_program, which is literally the lil bookkeeping baddie that manages information for a channel program. s390 core, vfio_ccw vibes, we love to see it π
β¨ NAME β¨
struct channel_program β manage information for channel program. that's it, that's the whole job, and she does it flawlessly π
π¦ SYNOPSIS π¦
struct channel_program {
struct list_head ccwchain_list;
union orb orb;
bool initialized;
struct ccw1 *guest_cp;
unsigned int ccwchain_count;
u64 guest_iova;
};
no cap, that's the exact struct, character for character, don't touch it π
πΈ Members πΈ
ccwchain_listβ the list head of ccwchains. she's the head of the whole friend group fr fr πorbβ the orb for the currently processed ssch request. yes, orb. iconic name, no notes π«§initializedβ whether this instance is actually initialized. abool, so like, is she real or is she just a vibe πguest_cpβ a copy of the guest channel program. a wholestruct ccw1 *, stored for safekeeping πccwchain_countβ number of channel program segments (linked by TIC). anunsigned int, counting the segments, linked by TIC, iykyk βguest_iovaβ first data address of a guest channel program. au64, the very first data address, main character energy π
π Description π
okay so ccwchain_list is the head of a ccwchain list, and that list contents the translated result of the guest channel program β the one that's pointed out by the iova parameter when you call cp_init. like, that's the whole flow: you call cp_init, you hand over the iova, and the translated result ends up chilling in this list. obsessed with the pipeline honestly π₯
π SEE ALSO π
- Kernel file
./drivers/s390/cio/vfio_ccw_cp.hβ go read it, bestie, it's giving source of truth π§
lowkey a PSA: this whole page lives under./drivers/s390/cio, the manual's dated October 2026, and the page's own name isstruct channel_program(9). screenshot it, memorize it, slay π
that's the page!! go forth and cp_init responsibly, ily, 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