On 31/05/2017 14:39, David Hildenbrand wrote: > + expect_pgm_int(); > + *((unsigned int*)-1) = 1; > + check_pgm_int_code(PGM_INT_CODE_ADDRESSING); QEMU gets ABORT: selftest: Unexpected program interrupt: 5 at 0x12b4c, ilen 4 It seems that QEMU doesn't point the PSW at the next instruction: IN: main 0x0000000000012b44: lghi %r1,-1 0x0000000000012b48: lhi %r3,1 0x0000000000012b4c: st %r3,0(%r1) 0x0000000000012b50: lghi %r2,5 0x0000000000012b54: brasl %r14,0x128e8 0x0000000000012b4c: st %r3,0(%r1) 0x0000000000012b50: lghi %r2,5 0x0000000000012b54: brasl %r14,0x128e8 # this is expect_pgm_int Trace 0x7f5ff6c7f520 [0: 0000000000012b44] main Trace 0x7f5ff6c7bc20 [0: 000000000001004e] Trace 0x7f5ff6c7c960 [0: 0000000000012918] handle_pgm_int Trace 0x7f5ff6c7d280 [0: 00000000000100a4] and now it gets another program interrupt: IN: main 0x0000000000012b4c: st %r3,0(%r1) 0x0000000000012b50: lghi %r2,5 0x0000000000012b54: brasl %r14,0x128e8 Trace 0x7f5ff6c7f600 [0: 0000000000012b4c] main Trace 0x7f5ff6c7bc20 [0: 000000000001004e] Trace 0x7f5ff6c7c960 [0: 0000000000012918] handle_pgm_int Thanks, Paolo