mangle_pstate_invalid_mode_template.h (803B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) 2019 ARM Limited 4 * 5 * Utility macro to ease definition of testcases toggling mode EL 6 */ 7 8#define DEFINE_TESTCASE_MANGLE_PSTATE_INVALID_MODE(_mode) \ 9 \ 10static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si, \ 11 ucontext_t *uc) \ 12{ \ 13 ASSERT_GOOD_CONTEXT(uc); \ 14 \ 15 uc->uc_mcontext.pstate &= ~PSR_MODE_MASK; \ 16 uc->uc_mcontext.pstate |= PSR_MODE_EL ## _mode; \ 17 \ 18 return 1; \ 19} \ 20 \ 21struct tdescr tde = { \ 22 .sanity_disabled = true, \ 23 .name = "MANGLE_PSTATE_INVALID_MODE_EL"#_mode, \ 24 .descr = "Mangling uc_mcontext INVALID MODE EL"#_mode, \ 25 .sig_trig = SIGUSR1, \ 26 .sig_ok = SIGSEGV, \ 27 .run = mangle_invalid_pstate_run, \ 28}