1 /*
2 * s390 vfio-pci interfaces
3 *
4 * Copyright 2020 IBM Corp.
5 * Author(s): Matthew Rosato <mjrosato@linux.ibm.com>
6 *
7 * This work is licensed under the terms of the GNU GPL, version 2 or (at
8 * your option) any later version. See the COPYING file in the top-level
9 * directory.
10 */
11
12 #ifndef HW_S390_PCI_VFIO_H
13 #define HW_S390_PCI_VFIO_H
14
15 #include "hw/s390x/s390-pci-bus.h"
16 #include CONFIG_DEVICES
17
18 #ifdef CONFIG_VFIO
19 bool s390_pci_update_dma_avail(int fd, unsigned int *avail);
20 S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
21 S390PCIBusDevice *pbdev);
22 void s390_pci_end_dma_count(S390pciState *s, S390PCIDMACount *cnt);
23 bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh);
24 void s390_pci_get_clp_info(S390PCIBusDevice *pbdev);
25 #else
s390_pci_update_dma_avail(int fd,unsigned int * avail)26 static inline bool s390_pci_update_dma_avail(int fd, unsigned int *avail)
27 {
28 return false;
29 }
s390_pci_start_dma_count(S390pciState * s,S390PCIBusDevice * pbdev)30 static inline S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
31 S390PCIBusDevice *pbdev)
32 {
33 return NULL;
34 }
s390_pci_end_dma_count(S390pciState * s,S390PCIDMACount * cnt)35 static inline void s390_pci_end_dma_count(S390pciState *s,
36 S390PCIDMACount *cnt) { }
s390_pci_get_host_fh(S390PCIBusDevice * pbdev,uint32_t * fh)37 static inline bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh)
38 {
39 return false;
40 }
s390_pci_get_clp_info(S390PCIBusDevice * pbdev)41 static inline void s390_pci_get_clp_info(S390PCIBusDevice *pbdev) { }
42 #endif
43
44 #endif
45