tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
Source file repositories/reference/linux-study-clean/tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
File Facts
- System
- Linux kernel
- Corpus path
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c- Extension
.c- Size
- 2983 bytes
- Lines
- 142
- Domain
- Support Tooling And Documentation
- Bucket
- tools
- Inferred role
- Support Tooling And Documentation: implementation source
- Status
- source implementation candidate
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
kselftest.hsignal.hucontext.hsys/prctl.htest_signals_utils.hsve_helpers.htestcases.h
Detected Declarations
function sme_get_vlsfunction setup_regsfunction do_one_sme_vlfunction ZA_SIG_REGS_SIZEfunction sme_regs
Annotated Snippet
ZA_SIG_REGS_SIZE(sve_vq_from_vl(za->vl))) != 0) {
fprintf(stderr, "ZA data invalid\n");
return 1;
}
return 0;
}
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
{
int i;
for (i = 0; i < nvls; i++) {
if (do_one_sme_vl(td, si, uc, vls[i]))
return 1;
}
td->pass = 1;
return 0;
}
struct tdescr tde = {
.name = "Streaming SVE registers",
.descr = "Check that we get the right Streaming SVE registers reported",
.feats_required = FEAT_SME,
.timeout = 3,
.init = sme_get_vls,
.run = sme_regs,
};
Annotation
- Immediate include surface: `kselftest.h`, `signal.h`, `ucontext.h`, `sys/prctl.h`, `test_signals_utils.h`, `sve_helpers.h`, `testcases.h`.
- Detected declarations: `function sme_get_vls`, `function setup_regs`, `function do_one_sme_vl`, `function ZA_SIG_REGS_SIZE`, `function sme_regs`.
- Atlas domain: Support Tooling And Documentation / tools.
- 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.