On Tue, 17 Mar 2020 11:32:03 +0100 Janosch Frank wrote: > On 3/17/20 11:28 AM, Cornelia Huck wrote: > > On Thu, 12 Mar 2020 12:20:25 +0100 > > Janosch Frank wrote: > > > >> On 3/12/20 11:42 AM, Christian Borntraeger wrote: > >>> > >>> > >>> On 11.03.20 14:21, 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 > >>>> Reviewed-by: David Hildenbrand > >>>> --- > >>>> target/s390x/kvm.c | 11 +++++++++-- > >>>> 1 file changed, 9 insertions(+), 2 deletions(-) > >>>> > >>>> diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c > >>>> index cdcd538b4f7fb318..8085d5030e7c6454 100644 > >>>> --- a/target/s390x/kvm.c > >>>> +++ b/target/s390x/kvm.c > >>>> @@ -50,6 +50,7 @@ > >>>> #include "exec/memattrs.h" > >>>> #include "hw/s390x/s390-virtio-ccw.h" > >>>> #include "hw/s390x/s390-virtio-hcall.h" > >>>> +#include "hw/s390x/pv.h" > >>>> > >>>> #ifndef DEBUG_KVM > >>>> #define DEBUG_KVM 0 > >>>> @@ -1800,7 +1801,9 @@ static void insert_stsi_3_2_2(S390CPU *cpu, __u64 addr, uint8_t ar) > >>>> SysIB_322 sysib; > >>>> int del; > >>>> > >>>> - if (s390_cpu_virt_mem_read(cpu, addr, ar, &sysib, sizeof(sysib))) { > >>>> + if (s390_is_pv()) { > >>>> + s390_cpu_pv_mem_read(cpu, 0, &sysib, sizeof(sysib)); > >>> > >>> Not strictly necessary, but do we also want to do an early exit if the pv case fails? > >>> > >> > >> I'd rather do an early exit for the SIDA read/write ioctl itself > > > > Early exit in what respect? Abort? > > Yes, abort > If a write fails we most likely will not succeed on the continuation > check and if a read fails we will error out somewhere in qemu anyway Ok, so this will go into the previous patch, I guess?