Lines Matching +full:its +full:- +full:trigger
1 // SPDX-License-Identifier: GPL-2.0-only
8 * as these result in another interruption code (the transactional-execution-aborted
47 * Also acts as compiler barrier, -> none required in expect/check_invalid_psw
107 expected_psw.addr == invalid_psw.addr - lowcore.pgm_int_id) in check_invalid_psw()
119 struct psw invalid = PSW(BIT(63 - 12), 0x00000000deadbeee); in psw_bit_12_is_1()
165 struct psw invalid = PSW(BIT(63 - 12), 0x00000000deadbeee); in short_psw_bit_12_is_0()
175 * -> cannot check the expected invalid psw like with lpswe in short_psw_bit_12_is_0()
247 * If a trigger is transactable it will also be executed during a transaction.
268 static void test_spec_ex(const struct spec_ex_trigger *trigger) in test_spec_ex() argument
273 register_pgm_cleanup_func(trigger->fixup); in test_spec_ex()
274 rc = trigger->func(); in test_spec_ex()
276 /* test failed, nothing to be done, reporting responsibility of trigger */ in test_spec_ex()
290 with_transaction(int (*trigger)(void), struct __htm_tdb *diagnose) in with_transaction()
297 * which either completes in its entirety or does not have any effect. in with_transaction()
306 trigger(); in with_transaction()
314 static int retry_transaction(const struct spec_ex_trigger *trigger, unsigned int max_retries, in retry_transaction() argument
322 trans_result = with_transaction(trigger->func, tdb); in retry_transaction()
346 static void test_spec_ex_trans(struct args *args, const struct spec_ex_trigger *trigger) in test_spec_ex_trans() argument
358 report_skip("transactional-execution facility not installed"); in test_spec_ex_trans()
361 ctl_set_bit(0, CTL0_TRANSACT_EX_CTL); /* enable transactional-exec */ in test_spec_ex_trans()
363 register_pgm_cleanup_func(trigger->fixup); in test_spec_ex_trans()
364 trans_result = retry_transaction(trigger, args->max_retries, &diag.tdb, expected_pgm); in test_spec_ex_trans()
375 if (args->diagnose) in test_spec_ex_trans()
388 args->max_retries); in test_spec_ex_trans()
428 flag = "--max-retries"; in parse_args()
436 if (!strcmp("--diagnose", argv[i])) { in parse_args()
440 if (!strcmp("--no-diagnose", argv[i])) { in parse_args()