// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2021 ARM Limited * * Verify that accessing ZA without enabling it generates a SIGILL. */ #include <signal.h> #include <ucontext.h> #include <sys/prctl.h> #include "test_signals_utils.h" #include "testcases.h" int sme_trap_za_trigger(struct tdescr *td) { /* ZERO ZA */ asm volatile(".inst 0xc00800ff"); return 0; } int sme_trap_za_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc) { return 1; } struct tdescr tde = { .name = "SME ZA trap", .descr = "Check that we get a SIGILL if we access ZA without enabling", .timeout = 3, .sanity_disabled = true, .trigger = sme_trap_za_trigger, .run = sme_trap_za_run, .sig_ok = SIGILL, };