xref: /qemu/include/hw/s390x/s390-pci-vfio.h (revision fe65642bbae13bc8ea2e2498ea7bd2977ed443e5)
1cd7498d0SMatthew Rosato /*
2cd7498d0SMatthew Rosato  * s390 vfio-pci interfaces
3cd7498d0SMatthew Rosato  *
4cd7498d0SMatthew Rosato  * Copyright 2020 IBM Corp.
5cd7498d0SMatthew Rosato  * Author(s): Matthew Rosato <mjrosato@linux.ibm.com>
6cd7498d0SMatthew Rosato  *
7cd7498d0SMatthew Rosato  * This work is licensed under the terms of the GNU GPL, version 2 or (at
8cd7498d0SMatthew Rosato  * your option) any later version. See the COPYING file in the top-level
9cd7498d0SMatthew Rosato  * directory.
10cd7498d0SMatthew Rosato  */
11cd7498d0SMatthew Rosato 
12cd7498d0SMatthew Rosato #ifndef HW_S390_PCI_VFIO_H
13cd7498d0SMatthew Rosato #define HW_S390_PCI_VFIO_H
14cd7498d0SMatthew Rosato 
1537fa32deSMatthew Rosato #include "hw/s390x/s390-pci-bus.h"
1677280d33SCornelia Huck #include CONFIG_DEVICES
1737fa32deSMatthew Rosato 
1877280d33SCornelia Huck #ifdef CONFIG_VFIO
19cd7498d0SMatthew Rosato bool s390_pci_update_dma_avail(int fd, unsigned int *avail);
2037fa32deSMatthew Rosato S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
2137fa32deSMatthew Rosato                                           S390PCIBusDevice *pbdev);
2237fa32deSMatthew Rosato void s390_pci_end_dma_count(S390pciState *s, S390PCIDMACount *cnt);
23*21fa1529SMatthew Rosato bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh);
241e7552ffSMatthew Rosato void s390_pci_get_clp_info(S390PCIBusDevice *pbdev);
25cd7498d0SMatthew Rosato #else
s390_pci_update_dma_avail(int fd,unsigned int * avail)26cd7498d0SMatthew Rosato static inline bool s390_pci_update_dma_avail(int fd, unsigned int *avail)
27cd7498d0SMatthew Rosato {
28cd7498d0SMatthew Rosato     return false;
29cd7498d0SMatthew Rosato }
s390_pci_start_dma_count(S390pciState * s,S390PCIBusDevice * pbdev)3037fa32deSMatthew Rosato static inline S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
3137fa32deSMatthew Rosato                                                         S390PCIBusDevice *pbdev)
3237fa32deSMatthew Rosato {
3337fa32deSMatthew Rosato     return NULL;
3437fa32deSMatthew Rosato }
s390_pci_end_dma_count(S390pciState * s,S390PCIDMACount * cnt)3537fa32deSMatthew Rosato static inline void s390_pci_end_dma_count(S390pciState *s,
3637fa32deSMatthew Rosato                                           S390PCIDMACount *cnt) { }
s390_pci_get_host_fh(S390PCIBusDevice * pbdev,uint32_t * fh)37*21fa1529SMatthew Rosato static inline bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh)
38*21fa1529SMatthew Rosato {
39*21fa1529SMatthew Rosato     return false;
40*21fa1529SMatthew Rosato }
s390_pci_get_clp_info(S390PCIBusDevice * pbdev)411e7552ffSMatthew Rosato static inline void s390_pci_get_clp_info(S390PCIBusDevice *pbdev) { }
42cd7498d0SMatthew Rosato #endif
43cd7498d0SMatthew Rosato 
44cd7498d0SMatthew Rosato #endif
45