diff options
author | Kirti Wankhede | 2020-10-26 10:36:12 +0100 |
---|---|---|
committer | Alex Williamson | 2020-11-01 20:30:50 +0100 |
commit | e93b733bcf8ee185af14a0f90a217d51cf40e7ea (patch) | |
tree | 320dba8c69f8a627be46603c0811d532e3aec519 | |
parent | vfio: Add function to unmap VFIO region (diff) | |
download | qemu-e93b733bcf8ee185af14a0f90a217d51cf40e7ea.tar.gz qemu-e93b733bcf8ee185af14a0f90a217d51cf40e7ea.tar.xz qemu-e93b733bcf8ee185af14a0f90a217d51cf40e7ea.zip |
vfio: Add vfio_get_object callback to VFIODeviceOps
Hook vfio_get_object callback for PCI devices.
Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Neo Jia <cjia@nvidia.com>
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-rw-r--r-- | hw/vfio/pci.c | 8 | ||||
-rw-r--r-- | include/hw/vfio/vfio-common.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 0d83eb0e47..bffd5bfe3b 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -2394,10 +2394,18 @@ static void vfio_pci_compute_needs_reset(VFIODevice *vbasedev) } } +static Object *vfio_pci_get_object(VFIODevice *vbasedev) +{ + VFIOPCIDevice *vdev = container_of(vbasedev, VFIOPCIDevice, vbasedev); + + return OBJECT(vdev); +} + static VFIODeviceOps vfio_pci_ops = { .vfio_compute_needs_reset = vfio_pci_compute_needs_reset, .vfio_hot_reset_multi = vfio_pci_hot_reset_multi, .vfio_eoi = vfio_intx_eoi, + .vfio_get_object = vfio_pci_get_object, }; int vfio_populate_vga(VFIOPCIDevice *vdev, Error **errp) diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index dc95f527b5..fe99c36a69 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -119,6 +119,7 @@ struct VFIODeviceOps { void (*vfio_compute_needs_reset)(VFIODevice *vdev); int (*vfio_hot_reset_multi)(VFIODevice *vdev); void (*vfio_eoi)(VFIODevice *vdev); + Object *(*vfio_get_object)(VFIODevice *vdev); }; typedef struct VFIOGroup { |