vfio: Move the TYPE_* to hw/vfio/types.h

Move the TYPE_* to a new file hw/vfio/types.h because the
TYPE_VFIO_PCI will be used in later patch, but directly include the
hw/vfio/pci.h can cause some compilation error when cross build the
windows version.

The hw/vfio/types.h can be included to mitigate that problem.

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
Message-ID: <20250717100941.2230408-3-shahuang@redhat.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Shaoqin Huang 2025-07-17 06:09:40 -04:00 committed by Gerd Hoffmann
parent 350785d41d
commit b53a3bba5e
2 changed files with 22 additions and 9 deletions

View file

@ -14,6 +14,7 @@
#include "system/memory.h"
#include "hw/pci/pci_device.h"
#include "hw/vfio/types.h"
#include "hw/vfio/vfio-device.h"
#include "hw/vfio/vfio-region.h"
#include "qemu/event_notifier.h"
@ -119,17 +120,8 @@ typedef struct VFIOMSIXInfo {
MemoryRegion *pba_region;
} VFIOMSIXInfo;
/*
* TYPE_VFIO_PCI_BASE is an abstract type used to share code
* between VFIO implementations that use a kernel driver
* with those that use user sockets.
*/
#define TYPE_VFIO_PCI_BASE "vfio-pci-base"
OBJECT_DECLARE_SIMPLE_TYPE(VFIOPCIDevice, VFIO_PCI_BASE)
#define TYPE_VFIO_PCI "vfio-pci"
/* TYPE_VFIO_PCI shares struct VFIOPCIDevice. */
struct VFIOPCIDevice {
PCIDevice pdev;
VFIODevice vbasedev;

21
hw/vfio/types.h Normal file
View file

@ -0,0 +1,21 @@
/*
* VFIO types definition
*
* Copyright Red Hat, Inc. 2025
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef HW_VFIO_VFIO_TYPES_H
#define HW_VFIO_VFIO_TYPES_H
/*
* TYPE_VFIO_PCI_BASE is an abstract type used to share code
* between VFIO implementations that use a kernel driver
* with those that use user sockets.
*/
#define TYPE_VFIO_PCI_BASE "vfio-pci-base"
#define TYPE_VFIO_PCI "vfio-pci"
/* TYPE_VFIO_PCI shares struct VFIOPCIDevice. */
#endif /* HW_VFIO_VFIO_TYPES_H */