>      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


Reply via email to