]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
KVM: s390: pv: make use of ultravisor AIV support
authorMichael Mueller <mimu@linux.ibm.com>
Wed, 9 Mar 2022 15:51:44 +0000 (16:51 +0100)
committerPaolo Pisati <paolo.pisati@canonical.com>
Thu, 10 Mar 2022 10:25:02 +0000 (11:25 +0100)
commite1344a4668743a1172ae135ae393840ed1e4a115
treea7002b104e71e8426f2f8492f6a0d11d21d4d6f6
parentb6b3ae9d77f76c07d7589936bce436ae6036ea6d
KVM: s390: pv: make use of ultravisor AIV support

BugLink: https://bugs.launchpad.net/bugs/1959977
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>
(backported from commit ee6a569d3bf64c9676eee3eecb861fb01cc11311 linux-next)
[Frank Heimes: Resolve minor conflict due to context change.]
Signed-off-by: Frank Heimes <frank.heimes@canonical.com>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
arch/s390/include/asm/uv.h
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h