> S390CPU *cpu = S390_CPU(s); > - cpu->env.psw.addr = ldl_phys(s->as, 4) & PSW_MASK_ESA_ADDR; > + CPUS390XState *env = &cpu->env; > + > + if (!env->pv) { > + cpu->env.psw.addr = ldl_phys(s->as, 4) & PSW_MASK_ESA_ADDR; > + } else { > + s390_pv_set_ipl_psw(s);
Oh, and you ignore any errors you get here ... not sure if that is intended (error and exit?) > + } > cpu->env.psw.mask = PSW_MASK_32 | PSW_MASK_64; > s390_cpu_set_state(S390_CPU_STATE_OPERATING, cpu); > } > -- Thanks, David / dhildenb