0001
0002
0003
0004
0005
0006
0007
0008 #define DEFINE_TESTCASE_MANGLE_PSTATE_INVALID_MODE(_mode) \
0009 \
0010 static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si, \
0011 ucontext_t *uc) \
0012 { \
0013 ASSERT_GOOD_CONTEXT(uc); \
0014 \
0015 uc->uc_mcontext.pstate &= ~PSR_MODE_MASK; \
0016 uc->uc_mcontext.pstate |= PSR_MODE_EL ## _mode; \
0017 \
0018 return 1; \
0019 } \
0020 \
0021 struct tdescr tde = { \
0022 .sanity_disabled = true, \
0023 .name = "MANGLE_PSTATE_INVALID_MODE_EL"#_mode, \
0024 .descr = "Mangling uc_mcontext INVALID MODE EL"#_mode, \
0025 .sig_trig = SIGUSR1, \
0026 .sig_ok = SIGSEGV, \
0027 .run = mangle_invalid_pstate_run, \
0028 }