149934b5aSJanis Schoetterl-Glausch // SPDX-License-Identifier: GPL-2.0-only 249934b5aSJanis Schoetterl-Glausch /* 349934b5aSJanis Schoetterl-Glausch * Copyright IBM Corp. 2021 449934b5aSJanis Schoetterl-Glausch * 549934b5aSJanis Schoetterl-Glausch * Snippet used by specification exception interception test. 649934b5aSJanis Schoetterl-Glausch */ 749934b5aSJanis Schoetterl-Glausch #include <libcflat.h> 849934b5aSJanis Schoetterl-Glausch #include <bitops.h> 949934b5aSJanis Schoetterl-Glausch #include <asm/arch_def.h> 1049934b5aSJanis Schoetterl-Glausch main(void)1149934b5aSJanis Schoetterl-Glausch__attribute__((section(".text"))) int main(void) 1249934b5aSJanis Schoetterl-Glausch { 1349934b5aSJanis Schoetterl-Glausch uint64_t bad_psw = 0; 1449934b5aSJanis Schoetterl-Glausch 1549934b5aSJanis Schoetterl-Glausch /* PSW bit 12 has no name or meaning and must be 0 */ 16*cd719531SJanis Schoetterl-Glausch lowcore.pgm_new_psw.mask = BIT(63 - 12); 17*cd719531SJanis Schoetterl-Glausch lowcore.pgm_new_psw.addr = 0xdeadbeee; 1849934b5aSJanis Schoetterl-Glausch asm volatile ("lpsw %0" :: "Q"(bad_psw)); 1949934b5aSJanis Schoetterl-Glausch return 0; 2049934b5aSJanis Schoetterl-Glausch } 21