On 13.01.20 15:05, Claudio Imbrenda wrote: > On Mon, 13 Jan 2020 14:10:10 +0100 > David Hildenbrand <david@xxxxxxxxxx> wrote: > > [...] > >> :) I'm confused by the fact that you "expect_pgm_int()" but actually >> don't expect one ... >> >> Please enlighten me why this isn't >> >> + sclp_mark_busy(); >> + h->length = 8; >> + sclp_setup_int(); >> + >> + asm volatile( >> + " .insn rre,0xb2204200,%1,%2\n" /* servc >> %1,%2 */ >> + " ipm %0\n" >> + " srl %0,28" >> + : "=&d" (cc) : "d" (valid_code), "a" (__pa(pagebuf)) >> + : "cc", "memory"); >> + if (!cc) >> + sclp_wait_busy(); >> + report(cc == 0, "Instruction format ignored bits"); >> >> I feel like I am missing something important. > > because if we take an unexpected pgm interrupt: > * the interrupt handler will write stuff on the console using SCLP > * it will wait for the busy flag to be cleared before doing so > * thus it will hang. > > this would be solved by adding special logic to the pgm interrupt > handler (as we have discussed in your previous email) > I see, so the issue should hold for all SCLP checks where we don't expect an exception ... hmmm -- Thanks, David / dhildenb