tdescr
struct tdescr *current = &tde;
void (*cleanup)(struct tdescr *td);
int (*trigger)(struct tdescr *td);
int (*run)(struct tdescr *td, siginfo_t *si, ucontext_t *uc);
void (*check_result)(struct tdescr *td);
extern struct tdescr tde;
int (*setup)(struct tdescr *td);
bool (*init)(struct tdescr *td);
static bool handle_signal_trigger(struct tdescr *td,
static bool handle_signal_ok(struct tdescr *td,
static bool handle_signal_copyctx(struct tdescr *td,
extern struct tdescr *current;
static int default_setup(struct tdescr *td)
static inline int default_trigger(struct tdescr *td)
int test_init(struct tdescr *td)
int test_setup(struct tdescr *td)
int test_run(struct tdescr *td)
void test_result(struct tdescr *td)
void test_cleanup(struct tdescr *td)
static void default_result(struct tdescr *td, bool force_exit)
static bool handle_signal_unsupported(struct tdescr *td,
int test_init(struct tdescr *td);
int test_setup(struct tdescr *td);
void test_cleanup(struct tdescr *td);
int test_run(struct tdescr *td);
void test_result(struct tdescr *td);
static inline bool feats_ok(struct tdescr *td)
static __always_inline bool get_current_context(struct tdescr *td,
static int fake_sigreturn_bad_magic_run(struct tdescr *td,
struct tdescr tde = {
static int fake_sigreturn_bad_size_run(struct tdescr *td,
struct tdescr tde = {
static int fake_sigreturn_bad_size_for_magic0_run(struct tdescr *td,
struct tdescr tde = {
static int fake_sigreturn_duplicated_fpsimd_run(struct tdescr *td,
struct tdescr tde = {
static int fake_sigreturn_misaligned_run(struct tdescr *td,
struct tdescr tde = {
static int fake_sigreturn_missing_fpsimd_run(struct tdescr *td,
struct tdescr tde = {
static bool sme_get_vls(struct tdescr *td)
static int fake_sigreturn_ssve_change_vl(struct tdescr *td,
struct tdescr tde = {
static bool sve_get_vls(struct tdescr *td)
static int fake_sigreturn_sve_change_vl(struct tdescr *td,
struct tdescr tde = {
int fpmr_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static int gcs_op_fault_trigger(struct tdescr *td)
static int gcs_op_fault_signal(struct tdescr *td, siginfo_t *si,
struct tdescr tde = {
static int gcs_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool alloc_gcs(struct tdescr *td)
static int gcs_prot_none_fault_trigger(struct tdescr *td)
static int gcs_prot_none_fault_signal(struct tdescr *td, siginfo_t *si,
struct tdescr tde = {
static bool alloc_gcs(struct tdescr *td)
static int gcs_write_fault_trigger(struct tdescr *td)
static int gcs_write_fault_signal(struct tdescr *td, siginfo_t *si,
struct tdescr tde = {
static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si,
struct tdescr tde = {
static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si,
struct tdescr tde = {
static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si, \
struct tdescr tde = { \
int poe_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
int sme_trap_no_sm_trigger(struct tdescr *td)
int sme_trap_no_sm_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
int sme_trap_non_streaming_trigger(struct tdescr *td)
int sme_trap_non_streaming_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
int sme_trap_za_trigger(struct tdescr *td)
int sme_trap_za_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool get_sme_vl(struct tdescr *td)
static int sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
struct tdescr tde = {
static bool sme_get_vls(struct tdescr *td)
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool sme_get_vls(struct tdescr *td)
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
static bool sve_get_vls(struct tdescr *td)
static int do_one_sve_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
static int sve_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool get_sve_vl(struct tdescr *td)
static int sve_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool save_tpidr2(struct tdescr *td)
static int modify_tpidr2(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
static void check_tpidr2(struct tdescr *td)
struct tdescr tde = {
int tpidr2_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool sme_get_vls(struct tdescr *td)
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
static bool sme_get_vls(struct tdescr *td)
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
int zt_no_regs_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {
int zt_regs_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
struct tdescr tde = {