On 31.05.2017 14:51, Paolo Bonzini wrote: > > > 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: Exactly, the emulator doesn't properly forward the PSW. > > 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 > Yes, known problem as described in the cover letter. Happens with current TCG and old KVM. Patch for TCG is on the list. Thanks for testing! -- Thanks, David