/* * Common softmmu code for specification exception testing. * * SPDX-License-Identifier: GPL-2.0-or-later */ .section .head .org 0x8d ilc: .org 0x8e program_interruption_code: .org 0x150 program_old_psw: .org 0x1D0 /* program new PSW */ .quad 0x180000000,pgm /* 64-bit mode */ .org 0x200 /* lowcore padding */ .globl _start _start: lpswe test_psw pgm: chhsi program_interruption_code,0x6 /* PGM_SPECIFICATION? */ jne failure lg %r0,expected_old_psw+8 /* ilc adjustment */ llgc %r1,ilc agr %r0,%r1 stg %r0,expected_old_psw+8 clc expected_old_psw(16),program_old_psw /* correct location? */ jne failure lpswe success_psw failure: lpswe failure_psw .align 8 test_psw: .quad 0x180000000,test /* 64-bit mode */ success_psw: .quad 0x2000180000000,0xfff /* see is_special_wait_psw() */ failure_psw: .quad 0x2000180000000,0 /* disabled wait */