Browse Source

hw/s390x/s390-pci-vfio: Avoid including CONFIG_DEVICES in hw/ header

By turning the inline functions into stubs we can avoid the
use of target-specific CONFIG_DEVICES include in a hw/ header,
allowing to build the source files including it as common objects.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Farhan Ali<alifm@linux.ibm.com>
Message-Id: <20260225031658.32095-4-philmd@linaro.org>
master
Philippe Mathieu-Daudé 1 month ago
parent
commit
566ca14890
  1. 1
      hw/s390x/meson.build
  2. 32
      hw/s390x/s390-pci-vfio-stubs.c
  3. 20
      include/hw/s390x/s390-pci-vfio.h

1
hw/s390x/meson.build

@ -34,6 +34,7 @@ s390x_ss.add(when: 'CONFIG_S390_CCW_VIRTIO', if_true: files(
))
s390x_ss.add(when: 'CONFIG_TERMINAL3270', if_true: files('3270-ccw.c'))
s390x_ss.add(when: 'CONFIG_VFIO', if_true: files('s390-pci-vfio.c'))
stub_ss.add(files('s390-pci-vfio-stubs.c'))
s390x_ss.add(when: 'CONFIG_VFIO_AP', if_false: files('ap-stub.c'))
virtio_ss = ss.source_set()

32
hw/s390x/s390-pci-vfio-stubs.c

@ -0,0 +1,32 @@
/*
* s390 vfio-pci stubs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "qemu/osdep.h"
#include "hw/s390x/s390-pci-vfio.h"
bool s390_pci_update_dma_avail(int fd, unsigned int *avail)
{
return false;
}
S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
S390PCIBusDevice *pbdev)
{
return NULL;
}
void s390_pci_end_dma_count(S390pciState *s, S390PCIDMACount *cnt)
{
}
bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh)
{
return false;
}
void s390_pci_get_clp_info(S390PCIBusDevice *pbdev)
{
}

20
include/hw/s390x/s390-pci-vfio.h

@ -13,32 +13,12 @@
#define HW_S390_PCI_VFIO_H
#include "hw/s390x/s390-pci-bus.h"
#include CONFIG_DEVICES
#ifdef CONFIG_VFIO
bool s390_pci_update_dma_avail(int fd, unsigned int *avail);
S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
S390PCIBusDevice *pbdev);
void s390_pci_end_dma_count(S390pciState *s, S390PCIDMACount *cnt);
bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh);
void s390_pci_get_clp_info(S390PCIBusDevice *pbdev);
#else
static inline bool s390_pci_update_dma_avail(int fd, unsigned int *avail)
{
return false;
}
static inline S390PCIDMACount *s390_pci_start_dma_count(S390pciState *s,
S390PCIBusDevice *pbdev)
{
return NULL;
}
static inline void s390_pci_end_dma_count(S390pciState *s,
S390PCIDMACount *cnt) { }
static inline bool s390_pci_get_host_fh(S390PCIBusDevice *pbdev, uint32_t *fh)
{
return false;
}
static inline void s390_pci_get_clp_info(S390PCIBusDevice *pbdev) { }
#endif
#endif

Loading…
Cancel
Save