arch/s390/include/asm/scsw.h
Source file repositories/reference/linux-study-clean/arch/s390/include/asm/scsw.h
File Facts
- System
- Linux kernel
- Corpus path
arch/s390/include/asm/scsw.h- Extension
.h- Size
- 25665 bytes
- Lines
- 1052
- Domain
- Architecture Layer
- Bucket
- arch/s390
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hasm/css_chars.hasm/dma-types.hasm/cio.h
Detected Declarations
struct cmd_scswstruct tm_scswstruct eadm_scswfunction scsw_is_tmfunction scsw_keyfunction scsw_eswffunction scsw_ccfunction scsw_ectlfunction scsw_pnofunction scsw_fctlfunction scsw_actlfunction scsw_stctlfunction scsw_dstatfunction scsw_cstatfunction scsw_cmd_is_valid_keyfunction scsw_cmd_is_valid_sctlfunction scsw_cmd_is_valid_eswffunction scsw_cmd_is_valid_ccfunction scsw_cmd_is_valid_fmtfunction scsw_cmd_is_valid_pfchfunction scsw_cmd_is_valid_isicfunction scsw_cmd_is_valid_alccfunction scsw_cmd_is_valid_ssifunction scsw_cmd_is_valid_zccfunction scsw_cmd_is_valid_ectlfunction scsw_cmd_is_valid_pnofunction scsw_cmd_is_valid_fctlfunction scsw_cmd_is_valid_actlfunction scsw_cmd_is_valid_stctlfunction scsw_cmd_is_valid_dstatfunction scsw_cmd_is_valid_cstatfunction scsw_tm_is_valid_keyfunction scsw_tm_is_valid_eswffunction scsw_tm_is_valid_ccfunction scsw_tm_is_valid_fmtfunction scsw_tm_is_valid_xfunction scsw_tm_is_valid_qfunction scsw_tm_is_valid_ectlfunction scsw_tm_is_valid_pnofunction scsw_tm_is_valid_fctlfunction scsw_tm_is_valid_actlfunction scsw_tm_is_valid_stctlfunction scsw_tm_is_valid_dstatfunction scsw_tm_is_valid_cstatfunction scsw_tm_is_valid_fcxsfunction scsw_tm_is_valid_schxsfunction scsw_is_valid_actlfunction scsw_is_valid_cc
Annotated Snippet
struct cmd_scsw {
__u32 key : 4;
__u32 sctl : 1;
__u32 eswf : 1;
__u32 cc : 2;
__u32 fmt : 1;
__u32 pfch : 1;
__u32 isic : 1;
__u32 alcc : 1;
__u32 ssi : 1;
__u32 zcc : 1;
__u32 ectl : 1;
__u32 pno : 1;
__u32 res : 1;
__u32 fctl : 3;
__u32 actl : 7;
__u32 stctl : 5;
dma32_t cpa;
__u32 dstat : 8;
__u32 cstat : 8;
__u32 count : 16;
} __attribute__ ((packed));
/**
* struct tm_scsw - transport-mode subchannel status word
* @key: subchannel key
* @eswf: esw format
* @cc: deferred condition code
* @fmt: format
* @x: IRB-format control
* @q: interrogate-complete
* @ectl: extended control
* @pno: path not operational
* @fctl: function control
* @actl: activity control
* @stctl: status control
* @tcw: TCW address
* @dstat: device status
* @cstat: subchannel status
* @fcxs: FCX status
* @schxs: subchannel-extended status
*/
struct tm_scsw {
u32 key:4;
u32 :1;
u32 eswf:1;
u32 cc:2;
u32 fmt:3;
u32 x:1;
u32 q:1;
u32 :1;
u32 ectl:1;
u32 pno:1;
u32 :1;
u32 fctl:3;
u32 actl:7;
u32 stctl:5;
dma32_t tcw;
u32 dstat:8;
u32 cstat:8;
u32 fcxs:8;
u32 ifob:1;
u32 sesq:7;
} __attribute__ ((packed));
/**
* struct eadm_scsw - subchannel status word for eadm subchannels
* @key: subchannel key
* @eswf: esw format
* @cc: deferred condition code
* @ectl: extended control
* @fctl: function control
* @actl: activity control
* @stctl: status control
* @aob: AOB address
* @dstat: device status
* @cstat: subchannel status
*/
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;
Annotation
- Immediate include surface: `linux/types.h`, `asm/css_chars.h`, `asm/dma-types.h`, `asm/cio.h`.
- Detected declarations: `struct cmd_scsw`, `struct tm_scsw`, `struct eadm_scsw`, `function scsw_is_tm`, `function scsw_key`, `function scsw_eswf`, `function scsw_cc`, `function scsw_ectl`, `function scsw_pno`, `function scsw_fctl`.
- Atlas domain: Architecture Layer / arch/s390.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.