Quoting Janosch Frank (2023-11-03 14:53:17) > On 11/3/23 10:29, Nico Boehr wrote: > > At the moment, when a PGM int occurs while in SIE, we will just reenter > > SIE after the interrupt handler was called. > > > > This is because sie() has a loop which checks icptcode and re-enters SIE > > if it is zero. > > > > However, this behaviour is quite undesirable for SIE tests, since it > > doesn't give the host the chance to assert on the PGM int. Instead, we > > will just re-enter SIE, on nullifing conditions even causing the > > exception again. > > > > In sie(), check whether a pgm int code is set in lowcore. If it has, > > exit the loop so the test can react to the interrupt. Add a new function > > read_pgm_int_code() to obtain the interrupt code. > > > > Note that this introduces a slight oddity with sie and pgm int in > > certain cases: If a PGM int occurs between a expect_pgm_int() and sie(), > > we will now never enter SIE until the pgm_int_code is cleared by e.g. > > clear_pgm_int(). > > Is there any use in NOT having an assert(!read_pgm_int_code()) before > entering the loop? I added it, nothing breaks, so probably none. Thanks.