Re: [PATCH] KVM: s390: Enable specification exception interpretation

From: Cornelia Huck
Date: Wed Jul 07 2021 - 07:42:36 EST


On Wed, Jul 07 2021, Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxxxxxxx> wrote:

> On 7/7/21 10:54 AM, Cornelia Huck wrote:
>
> [...]
>
>>
>>>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
>>>> index b655a7d82bf0..aadd589a3755 100644
>>>> --- a/arch/s390/kvm/kvm-s390.c
>>>> +++ b/arch/s390/kvm/kvm-s390.c
>>>> @@ -3200,6 +3200,8 @@ static int kvm_s390_vcpu_setup(struct kvm_vcpu *vcpu)
>>>> vcpu->arch.sie_block->ecb |= ECB_SRSI;
>>>> if (test_kvm_facility(vcpu->kvm, 73))
>>>> vcpu->arch.sie_block->ecb |= ECB_TE;
>>
>> Maybe add
>>
>> /* no facility bit, but safe as the hardware may ignore it */
>>
>> or something like that, so that we don't stumble over that in the future?
>
> Well, the hardware being allowed to ignore the bit makes its introduction
> without an indication forward compatible because it does not require vSIE to be adapted.
> The reserved bits are implicitly set to 0 which means new features are disabled
> by default and one observes all the interception one expects.
>
> Maybe this:
>
> /* no facility bit, can opt in because we do not need
> to observe specification exception intercepts */
>
> ?

Works for me as well.

>
>>
>>>> + if (!kvm_is_ucontrol(vcpu->kvm))
>>>> + vcpu->arch.sie_block->ecb |= ECB_SPECI;
>>>>
>>>> if (test_kvm_facility(vcpu->kvm, 8) && vcpu->kvm->arch.use_pfmfi)
>>>> vcpu->arch.sie_block->ecb2 |= ECB2_PFMFI;
>>
>> Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>
>>