STRUCT EADM_SCSW(9)
π 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 formatccβ the deferred condition codeectlβ extended controlfctlβ function controlactlβ activity controlstctlβ status controlaobβ the AOB address (this one's adma32_t, not a bitfield, so it gets a whole field to itself, slay)dstatβ device statuscstatβ 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:
scsw_is_tm(9)scsw_key(9)scsw_eswf(9)scsw_cc(9)scsw_ectl(9)scsw_pno(9)scsw_fctl(9)scsw_actl(9)scsw_stctl(9)scsw_dstat(9)scsw_cstat(9)
the scsw_cmd_is_valid_* crew (yes, all of them):
scsw_cmd_is_valid_key(9)scsw_cmd_is_valid_sctl(9)scsw_cmd_is_valid_eswf(9)scsw_cmd_is_valid_cc(9)scsw_cmd_is_valid_fmt(9)scsw_cmd_is_valid_pfch(9)scsw_cmd_is_valid_isic(9)scsw_cmd_is_valid_alcc(9)scsw_cmd_is_valid_ssi(9)scsw_cmd_is_valid_zcc(9)scsw_cmd_is_valid_ectl(9)scsw_cmd_is_valid_pno(9)scsw_cmd_is_valid_fctl(9)scsw_cmd_is_valid_actl(9)scsw_cmd_is_valid_stctl(9)scsw_cmd_is_valid_dstat(9)scsw_cmd_is_valid_cstat(9)
then the scsw_tm_is_valid_* girlies:
scsw_tm_is_valid_key(9)scsw_tm_is_valid_eswf(9)scsw_tm_is_valid_cc(9)scsw_tm_is_valid_fmt(9)scsw_tm_is_valid_x(9)scsw_tm_is_valid_q(9)scsw_tm_is_valid_ectl(9)scsw_tm_is_valid_pno(9)scsw_tm_is_valid_fctl(9)scsw_tm_is_valid_actl(9)scsw_tm_is_valid_stctl(9)scsw_tm_is_valid_dstat(9)scsw_tm_is_valid_cstat(9)scsw_tm_is_valid_fcxs(9)scsw_tm_is_valid_schxs(9)
and the general scsw_is_valid_* set:
scsw_is_valid_actl(9)scsw_is_valid_cc(9)scsw_is_valid_cstat(9)scsw_is_valid_dstat(9)scsw_is_valid_ectl(9)scsw_is_valid_eswf(9)scsw_is_valid_fctl(9)scsw_is_valid_key(9)scsw_is_valid_pno(9)scsw_is_valid_stctl(9)
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
- 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