[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 08/13] s390x: protvirt: Add new VCPU reset functions
From: |
David Hildenbrand |
Subject: |
Re: [PATCH v2 08/13] s390x: protvirt: Add new VCPU reset functions |
Date: |
Fri, 29 Nov 2019 12:24:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
On 29.11.19 12:21, Janosch Frank wrote:
> On 11/29/19 11:47 AM, David Hildenbrand wrote:
>> On 29.11.19 10:48, Janosch Frank wrote:
>>> CPU resets for protected guests need to be done via Ultravisor
>>> calls. Hence we need a way to issue these calls for each reset.
>>>
>>> As we formerly had only one reset function and it was called for
>>> initial, as well as for the clear reset, we now need a new interface.
>>>
>>> Signed-off-by: Janosch Frank <address@hidden>
>>> ---
>>> target/s390x/cpu.c | 14 ++++++++++++--
>>> target/s390x/kvm-stub.c | 10 +++++++++-
>>> target/s390x/kvm.c | 38 ++++++++++++++++++++++++++++++++------
>>> target/s390x/kvm_s390x.h | 4 +++-
>>> 4 files changed, 56 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
>>> index bd39cb54b7..52fefa1586 100644
>>> --- a/target/s390x/cpu.c
>>> +++ b/target/s390x/cpu.c
>>> @@ -131,8 +131,18 @@ static void s390_cpu_reset(CPUState *s, cpu_reset_type
>>> type)
>>> }
>>>
>>> /* Reset state inside the kernel that we cannot access yet from QEMU.
>>> */
>>> - if (kvm_enabled() && type != S390_CPU_RESET_NORMAL) {
>>> - kvm_s390_reset_vcpu(cpu);
>>> + if (kvm_enabled()) {
>>> + switch (type) {
>>> + case S390_CPU_RESET_CLEAR:
>>> + kvm_s390_reset_vcpu_clear(cpu);
>>> + break;
>>> + case S390_CPU_RESET_INITIAL:
>>> + kvm_s390_reset_vcpu_initial(cpu);
>>> + break;
>>> + case S390_CPU_RESET_NORMAL:
>>> + kvm_s390_reset_vcpu_normal(cpu);
>>> + break;
>>> + }
>>
>> I would have assumed you only have to do that for pv? For ordinary
>> guests we can avoid unnecessary ioctls IMHO.
>
> Remember the reset normal IRQ fix in KVM?
> Without it we're not architecture compliant.
Please spell that out somewhere. People reviewing this have no idea
what's going on under the hood :)
--
Thanks,
David / dhildenb
[PATCH v2 13/13] s390x: protvirt: Handle SIGP store status correctly, Janosch Frank, 2019/11/29
[PATCH v2 10/13] s390x: protvirt: Set guest IPL PSW, Janosch Frank, 2019/11/29
[PATCH v2 12/13] s390x: protvirt: Disable address checks for PV guest IO emulation, Janosch Frank, 2019/11/29
[PATCH v2 11/13] s390x: protvirt: Move diag 308 data over SIDAD, Janosch Frank, 2019/11/29