KVM: s390: pv: make use of ultravisor AIV support
authorMichael Mueller <mimu@linux.ibm.com>
Wed, 9 Feb 2022 15:22:17 +0000 (16:22 +0100)
committerChristian Borntraeger <borntraeger@linux.ibm.com>
Tue, 15 Feb 2022 15:38:34 +0000 (16:38 +0100)
commit08ee38f549353361bebdc90c002a21904cf8ad9e
treede61964519007c0987053ef3507aa748b27c4604
parent05515d341fe5c3674ab944fe50c4bde8f9727723
KVM: s390: pv: make use of ultravisor AIV support

This patch enables the ultravisor adapter interruption vitualization
support indicated by UV feature BIT_UV_FEAT_AIV. This allows ISC
interruption injection directly into the GISA IPM for PV kvm guests.

Hardware that does not support this feature will continue to use the
UV interruption interception method to deliver ISC interruptions to
PV kvm guests. For this purpose, the ECA_AIV bit for all guest cpus
will be cleared and the GISA will be disabled during PV CPU setup.

In addition a check in __inject_io() has been removed. That reduces the
required instructions for interruption handling for PV and traditional
kvm guests.

Signed-off-by: Michael Mueller <mimu@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Link: https://lore.kernel.org/r/20220209152217.1793281-2-mimu@linux.ibm.com
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
arch/s390/include/asm/uv.h
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h