On 01/25/2018 04:47 PM, Cornelia Huck wrote: > On Thu, 25 Jan 2018 16:43:27 +0100 > Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote: > >> On 01/25/2018 04:31 PM, David Hildenbrand wrote: >> [...] >>>> struct kvm_s390_vsie { >>>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c >>>> index 68d7eef..efde264 100644 >>>> --- a/arch/s390/kvm/kvm-s390.c >>>> +++ b/arch/s390/kvm/kvm-s390.c >>>> @@ -2518,6 +2518,8 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, >>>> vcpu->arch.sie_block->icpua = id; >>>> spin_lock_init(&vcpu->arch.local_int.lock); >>>> vcpu->arch.sie_block->gd = (u32)(u64)kvm->arch.gisa; >>>> + if (vcpu->arch.sie_block->gd && sclp.has_gisaf) >>>> + vcpu->arch.sie_block->gd |= GISA_FORMAT1; >>>> seqcount_init(&vcpu->arch.cputm_seqcount); >>>> >>>> rc = kvm_vcpu_init(vcpu, kvm, id); >>>> >>> >>> So, what does this bring us? We don't seem to be using any new GISA-1 >>> features. >> >> Preparation for device pass-through interrupt forwarding. >> > > Should we start out with a dual format-0/format-1 gisa block, then? > IIUC, you'll switch to gisa-1 if the facility is there and gisa-1 can > do anything that gisa-0 can do? There might be systems that only have gisa-0, so I think having both makes sense.