STRUCT EADM_SCSW(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct eadm_scsw β€” the whole vibe check

okay so this is from the Kernel API Manual, section 9, and it's literally the page for struct eadm_scsw. bestie, it's giving "tiny struct, big responsibility" and i'm obsessed 🫢


✨ NAME ✨

struct eadm_scsw β€” the subchannel status word for eadm subchannels. that's it, that's the whole name. iconic behavior, no notes πŸ’…


🌸 SYNOPSIS 🌸

here's the actual shape of it, copy-paste vibes, don't touch a single character:

struct eadm_scsw {
    u32 key:4;
    u32:1;
    u32 eswf:1;
    u32 cc:2;
    u32:6;
    u32 ectl:1;
    u32:2;
    u32 fctl:3;
    u32 actl:7;
    u32 stctl:5;
    dma32_t aob;
    u32 dstat:8;
    u32 cstat:8;
    u32:16;
 };

and yes, those unnamed ones (u32:1;, u32:6;, u32:2; and that u32:16; at the end) are just padding bits sitting there with no member name and no description. they're the silent background characters of this struct, and honestly? main character energy anyway ✨


πŸŽ€ Members πŸŽ€

okay so every single one of these, in order, no skipping πŸ‘‘

  • key β€” the subchannel key πŸ”‘
  • eswf β€” the esw format
  • cc β€” the deferred condition code
  • ectl β€” extended control
  • fctl β€” function control
  • actl β€” activity control
  • stctl β€” status control
  • aob β€” the AOB address (this one's a dma32_t, not a bitfield, so it gets a whole field to itself, slay)
  • dstat β€” device status
  • cstat β€” subchannel status

that's literally it, ten named members and a bunch of padding, and we stan a compact struct 🧚


πŸ¦‹ SEE ALSO πŸ¦‹

so there's a LOT of friends in this friend group. the kernel file is ./arch/s390/include/asm/scsw.h, and like, every sibling struct and every scsw_* helper you could possibly want is listed here. buckle up bestie, this is a long one 😭

structs & unions first:

  • struct cmd_scsw(9)
  • struct tm_scsw(9)
  • union scsw(9)

the plain accessors:

the scsw_cmd_is_valid_* crew (yes, all of them):

then the scsw_tm_is_valid_* girlies:

and the general scsw_is_valid_* set:

aaand the solicited checks to close it out:


ok real talk, this list is LONG but it's not filler β€” every one of those is a genuine SEE ALSO reference from the original page, so if you need the full picture of scsw handling, this is your group chat πŸ’œ

and that's the page!! πŸŽ€ this whole thing lives in ./arch/s390/include/asm, dated October 2026, straight out of the Kernel API Manual β€” so like, cite it cute when you quote it, mwah πŸ’– πŸ¦‹

πŸ“¦ where this page comes from