diff mbox series

[17/32] KVM: s390: expose the guest Adapter Interruption Source ID facility

Message ID 20211207205743.150299-18-mjrosato@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series KVM: s390: enable zPCI for interpretive execution | expand

Commit Message

Matthew Rosato Dec. 7, 2021, 8:57 p.m. UTC
This facility will be used to enable forwarding of PCI interrupts from
firmware directly to guests.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
---
 arch/s390/kvm/kvm-s390.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Christian Borntraeger Dec. 17, 2021, 3:06 p.m. UTC | #1
Am 07.12.21 um 21:57 schrieb Matthew Rosato:
> This facility will be used to enable forwarding of PCI interrupts from
> firmware directly to guests.
> 
> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
> ---
>   arch/s390/kvm/kvm-s390.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 09991d05c871..d44ca313a1b7 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -2755,6 +2755,10 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
>   		set_kvm_facility(kvm->arch.model.fac_mask, 69);
>   		set_kvm_facility(kvm->arch.model.fac_list, 69);
>   	}
> +	if (sclp.has_aisii && test_facility(70)) {
> +		set_kvm_facility(kvm->arch.model.fac_mask, 70);
> +		set_kvm_facility(kvm->arch.model.fac_list, 70);
> +	}
>   
same as patch 16 (as well as 18)

>   	if (css_general_characteristics.aiv && test_facility(65))
>   		set_kvm_facility(kvm->arch.model.fac_mask, 65);
>
diff mbox series

Patch

diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 09991d05c871..d44ca313a1b7 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -2755,6 +2755,10 @@  int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 		set_kvm_facility(kvm->arch.model.fac_mask, 69);
 		set_kvm_facility(kvm->arch.model.fac_list, 69);
 	}
+	if (sclp.has_aisii && test_facility(70)) {
+		set_kvm_facility(kvm->arch.model.fac_mask, 70);
+		set_kvm_facility(kvm->arch.model.fac_list, 70);
+	}
 
 	if (css_general_characteristics.aiv && test_facility(65))
 		set_kvm_facility(kvm->arch.model.fac_mask, 65);