1dd1d5fd9SMatthew Rosato /* 2dd1d5fd9SMatthew Rosato * s390 PCI KVM interfaces 3dd1d5fd9SMatthew Rosato * 4dd1d5fd9SMatthew Rosato * Copyright 2022 IBM Corp. 5dd1d5fd9SMatthew Rosato * Author(s): Matthew Rosato <mjrosato@linux.ibm.com> 6dd1d5fd9SMatthew Rosato * 7dd1d5fd9SMatthew Rosato * This work is licensed under the terms of the GNU GPL, version 2 or (at 8dd1d5fd9SMatthew Rosato * your option) any later version. See the COPYING file in the top-level 9dd1d5fd9SMatthew Rosato * directory. 10dd1d5fd9SMatthew Rosato */ 11dd1d5fd9SMatthew Rosato 12dd1d5fd9SMatthew Rosato #ifndef HW_S390_PCI_KVM_H 13dd1d5fd9SMatthew Rosato #define HW_S390_PCI_KVM_H 14dd1d5fd9SMatthew Rosato 15*d0bc7091SMatthew Rosato #include "hw/s390x/s390-pci-bus.h" 16*d0bc7091SMatthew Rosato #include "hw/s390x/s390-pci-inst.h" 17*d0bc7091SMatthew Rosato 18dd1d5fd9SMatthew Rosato #ifdef CONFIG_KVM 19dd1d5fd9SMatthew Rosato bool s390_pci_kvm_interp_allowed(void); 20*d0bc7091SMatthew Rosato int s390_pci_kvm_aif_enable(S390PCIBusDevice *pbdev, ZpciFib *fib, bool assist); 21*d0bc7091SMatthew Rosato int s390_pci_kvm_aif_disable(S390PCIBusDevice *pbdev); 22dd1d5fd9SMatthew Rosato #else s390_pci_kvm_interp_allowed(void)23dd1d5fd9SMatthew Rosatostatic inline bool s390_pci_kvm_interp_allowed(void) 24dd1d5fd9SMatthew Rosato { 25dd1d5fd9SMatthew Rosato return false; 26dd1d5fd9SMatthew Rosato } s390_pci_kvm_aif_enable(S390PCIBusDevice * pbdev,ZpciFib * fib,bool assist)27*d0bc7091SMatthew Rosatostatic inline int s390_pci_kvm_aif_enable(S390PCIBusDevice *pbdev, ZpciFib *fib, 28*d0bc7091SMatthew Rosato bool assist) 29*d0bc7091SMatthew Rosato { 30*d0bc7091SMatthew Rosato return -EINVAL; 31*d0bc7091SMatthew Rosato } s390_pci_kvm_aif_disable(S390PCIBusDevice * pbdev)32*d0bc7091SMatthew Rosatostatic inline int s390_pci_kvm_aif_disable(S390PCIBusDevice *pbdev) 33*d0bc7091SMatthew Rosato { 34*d0bc7091SMatthew Rosato return -EINVAL; 35*d0bc7091SMatthew Rosato } 36dd1d5fd9SMatthew Rosato #endif 37dd1d5fd9SMatthew Rosato 38dd1d5fd9SMatthew Rosato #endif 39