On 20.02.20 13:56, Janosch Frank wrote: > For protected guests, we need to put the STSI emulation results into > the SIDA, so SIE will write them into the guest at the next entry. > > Signed-off-by: Janosch Frank <fran...@linux.ibm.com> > --- > target/s390x/kvm.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c > index f222836df5..3a5a5146e3 100644 > --- a/target/s390x/kvm.c > +++ b/target/s390x/kvm.c > @@ -1795,11 +1795,16 @@ static int handle_tsch(S390CPU *cpu) > > static void insert_stsi_3_2_2(S390CPU *cpu, __u64 addr, uint8_t ar) > { > + CPUS390XState *env = &cpu->env; > SysIB_322 sysib; > int del; > > - if (s390_cpu_virt_mem_read(cpu, addr, ar, &sysib, sizeof(sysib))) { > - return; > + if (env->pv) { > + s390_cpu_pv_mem_read(cpu, 0, &sysib, sizeof(sysib)); > + } else { > + if (s390_cpu_virt_mem_read(cpu, addr, ar, &sysib, sizeof(sysib))) { > + return; > + } > } > /* Shift the stack of Extended Names to prepare for our own data */ > memmove(&sysib.ext_names[1], &sysib.ext_names[0], > @@ -1838,7 +1843,11 @@ static void insert_stsi_3_2_2(S390CPU *cpu, __u64 > addr, uint8_t ar) > /* Insert UUID */ > memcpy(sysib.vm[0].uuid, &qemu_uuid, sizeof(sysib.vm[0].uuid)); > > - s390_cpu_virt_mem_write(cpu, addr, ar, &sysib, sizeof(sysib)); > + if (env->pv) { > + s390_cpu_pv_mem_write(cpu, 0, &sysib, sizeof(sysib)); > + } else { > + s390_cpu_virt_mem_write(cpu, addr, ar, &sysib, sizeof(sysib)); > + } > } > > static int handle_stsi(S390CPU *cpu) >
Acked-by: David Hildenbrand <da...@redhat.com> -- Thanks, David / dhildenb