/* SPDX-License-Identifier: GPL-2.0-only */ /* * Program interrupt loop test * * Copyright IBM Corp. 2022 * * Authors: * Nico Boehr */ #include #include #include #include #include int main(void) { report_prefix_push("panic-loop-pgm"); if (!host_is_qemu() || host_is_tcg()) { report_skip("QEMU-KVM-only test"); goto out; } expect_pgm_int(); /* bit 12 set is invalid */ lowcore.pgm_new_psw.mask = extract_psw_mask() | BIT(63 - 12); mb(); /* cause a pgm int */ psw_mask_set_bits(BIT(63 - 12)); report_fail("survived pgm int loop"); out: report_prefix_pop(); return report_summary(); }