aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/s390/kvm/pci.h
diff options
context:
space:
mode:
authorMatthew Rosato <mjrosato@linux.ibm.com>2022-06-06 16:33:20 -0400
committerChristian Borntraeger <borntraeger@linux.ibm.com>2022-07-11 09:54:33 +0200
commit09340b2fca007509c3cbc34fdc97961e0abfc589 (patch)
tree6e1eebe88f8ced8428620209c5b0fda95db506cb /arch/s390/kvm/pci.h
parentKVM: s390: pci: provide routines for enabling/disabling interrupt forwarding (diff)
downloadwireguard-linux-09340b2fca007509c3cbc34fdc97961e0abfc589.tar.xz
wireguard-linux-09340b2fca007509c3cbc34fdc97961e0abfc589.zip
KVM: s390: pci: add routines to start/stop interpretive execution
These routines will be invoked at the time an s390x vfio-pci device is associated with a KVM (or when the association is removed), allowing the zPCI device to enable or disable load/store intepretation mode; this requires the host zPCI device to inform firmware of the unique token (GISA designation) that is associated with the owning KVM. Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com> Acked-by: Pierre Morel <pmorel@linux.ibm.com> Link: https://lore.kernel.org/r/20220606203325.110625-17-mjrosato@linux.ibm.com Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Diffstat (limited to 'arch/s390/kvm/pci.h')
-rw-r--r--arch/s390/kvm/pci.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/kvm/pci.h b/arch/s390/kvm/pci.h
index 9d091033fc02..fb2b91b76e0c 100644
--- a/arch/s390/kvm/pci.h
+++ b/arch/s390/kvm/pci.h
@@ -13,6 +13,7 @@
#include <linux/kvm_host.h>
#include <linux/pci.h>
#include <linux/mutex.h>
+#include <linux/kvm.h>
#include <linux/kvm_host.h>
#include <asm/airq.h>
#include <asm/cpu.h>
@@ -21,6 +22,7 @@ struct kvm_zdev {
struct zpci_dev *zdev;
struct kvm *kvm;
struct zpci_fib fib;
+ struct list_head entry;
};
struct zpci_gaite {
@@ -54,6 +56,9 @@ static inline struct kvm *kvm_s390_pci_si_to_kvm(struct zpci_aift *aift,
int kvm_s390_pci_aen_init(u8 nisc);
void kvm_s390_pci_aen_exit(void);
+void kvm_s390_pci_init_list(struct kvm *kvm);
+void kvm_s390_pci_clear_list(struct kvm *kvm);
+
int kvm_s390_pci_init(void);
void kvm_s390_pci_exit(void);