On 2/20/20 11:54 AM, Cornelia Huck wrote:
> On Fri, 14 Feb 2020 10:16:28 -0500
> Janosch Frank <frankja@linux.ibm.com> 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 <frankja@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 eec0b92479..fe669ed24c 100644
>> --- a/target/s390x/kvm.c
>> +++ b/target/s390x/kvm.c
>> @@ -1772,11 +1772,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));
>
> This is only introduced by the next patch, right?
Ups, time to reorder.
>
>> + } 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],
>> @@ -1815,7 +1820,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)
>
>