linux/drivers/vfio/pci/virtio/main.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved
 */

#include <linux/device.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <linux/types.h>
#include <linux/uaccess.h>
#include <linux/vfio.h>
#include <linux/vfio_pci_core.h>
#include <linux/virtio_pci.h>
#include <linux/virtio_net.h>
#include <linux/virtio_pci_admin.h>

struct virtiovf_pci_core_device {};

static int
virtiovf_issue_legacy_rw_cmd(struct virtiovf_pci_core_device *virtvdev,
			     loff_t pos, char __user *buf,
			     size_t count, bool read)
{}

static int
virtiovf_pci_bar0_rw(struct virtiovf_pci_core_device *virtvdev,
		     loff_t pos, char __user *buf,
		     size_t count, bool read)
{}

static ssize_t virtiovf_pci_read_config(struct vfio_device *core_vdev,
					char __user *buf, size_t count,
					loff_t *ppos)
{}

static ssize_t
virtiovf_pci_core_read(struct vfio_device *core_vdev, char __user *buf,
		       size_t count, loff_t *ppos)
{}

static ssize_t virtiovf_pci_write_config(struct vfio_device *core_vdev,
					 const char __user *buf, size_t count,
					 loff_t *ppos)
{}

static ssize_t
virtiovf_pci_core_write(struct vfio_device *core_vdev, const char __user *buf,
			size_t count, loff_t *ppos)
{}

static int
virtiovf_pci_ioctl_get_region_info(struct vfio_device *core_vdev,
				   unsigned int cmd, unsigned long arg)
{}

static long
virtiovf_vfio_pci_core_ioctl(struct vfio_device *core_vdev, unsigned int cmd,
			     unsigned long arg)
{}

static int
virtiovf_set_notify_addr(struct virtiovf_pci_core_device *virtvdev)
{}

static int virtiovf_pci_open_device(struct vfio_device *core_vdev)
{}

static int virtiovf_get_device_config_size(unsigned short device)
{}

static int virtiovf_read_notify_info(struct virtiovf_pci_core_device *virtvdev)
{}

static int virtiovf_pci_init_device(struct vfio_device *core_vdev)
{}

static void virtiovf_pci_core_release_dev(struct vfio_device *core_vdev)
{}

static const struct vfio_device_ops virtiovf_vfio_pci_tran_ops =;

static const struct vfio_device_ops virtiovf_vfio_pci_ops =;

static bool virtiovf_bar0_exists(struct pci_dev *pdev)
{}

static int virtiovf_pci_probe(struct pci_dev *pdev,
			      const struct pci_device_id *id)
{}

static void virtiovf_pci_remove(struct pci_dev *pdev)
{}

static const struct pci_device_id virtiovf_pci_table[] =;

MODULE_DEVICE_TABLE(pci, virtiovf_pci_table);

static void virtiovf_pci_aer_reset_done(struct pci_dev *pdev)
{}

static const struct pci_error_handlers virtiovf_err_handlers =;

static struct pci_driver virtiovf_pci_driver =;

module_pci_driver();

MODULE_LICENSE();
MODULE_AUTHOR();
MODULE_DESCRIPTION();