[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 08/16] s390x: protvirt: Move STSI data over SIDAD
From: |
David Hildenbrand |
Subject: |
Re: [PATCH v4 08/16] s390x: protvirt: Move STSI data over SIDAD |
Date: |
Tue, 25 Feb 2020 11:05:29 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
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 <address@hidden>
> ---
> 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 <address@hidden>
--
Thanks,
David / dhildenb
- [PATCH v4 03/16] s390x: protvirt: Support unpack facility, (continued)
- [PATCH v4 03/16] s390x: protvirt: Support unpack facility, Janosch Frank, 2020/02/20
- [PATCH v4 06/16] s390x: protvirt: KVM intercept changes, Janosch Frank, 2020/02/20
- [PATCH v4 07/16] s390x: Add SIDA memory ops, Janosch Frank, 2020/02/20
- [PATCH v4 08/16] s390x: protvirt: Move STSI data over SIDAD, Janosch Frank, 2020/02/20
- Re: [PATCH v4 08/16] s390x: protvirt: Move STSI data over SIDAD,
David Hildenbrand <=
- [PATCH v4 09/16] s390x: protvirt: SCLP interpretation, Janosch Frank, 2020/02/20
- [PATCH v4 12/16] s390x: protvirt: Disable address checks for PV guest IO emulation, Janosch Frank, 2020/02/20
- [PATCH v4 14/16] s390x: protvirt: Handle SIGP store status correctly, Janosch Frank, 2020/02/20
- [PATCH v4 15/16] s390x: Add unpack feature to GA1, Janosch Frank, 2020/02/20
- [PATCH v4 16/16] docs: Add protvirt docs, Janosch Frank, 2020/02/20
- [PATCH v4 13/16] s390x: protvirt: Move IO control structures over SIDA, Janosch Frank, 2020/02/20
- [PATCH v4 11/16] s390x: protvirt: Move diag 308 data over SIDAD, Janosch Frank, 2020/02/20
- [PATCH v4 10/16] s390x: protvirt: Set guest IPL PSW, Janosch Frank, 2020/02/20