[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver
From: |
Dong Jia |
Subject: |
Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver |
Date: |
Fri, 3 Jun 2016 16:57:46 +0800 |
On Wed, 25 May 2016 01:28:15 +0530
Kirti Wankhede <address@hidden> wrote:
...snip...
> +struct phy_device_ops {
> + struct module *owner;
> + const struct attribute_group **dev_attr_groups;
> + const struct attribute_group **mdev_attr_groups;
> +
> + int (*supported_config)(struct device *dev, char *config);
> + int (*create)(struct device *dev, uuid_le uuid,
> + uint32_t instance, char *mdev_params);
> + int (*destroy)(struct device *dev, uuid_le uuid,
> + uint32_t instance);
> + int (*start)(uuid_le uuid);
> + int (*shutdown)(uuid_le uuid);
> + ssize_t (*read)(struct mdev_device *vdev, char *buf, size_t count,
> + enum mdev_emul_space address_space, loff_t pos);
> + ssize_t (*write)(struct mdev_device *vdev, char *buf, size_t count,
> + enum mdev_emul_space address_space, loff_t pos);
> + int (*set_irqs)(struct mdev_device *vdev, uint32_t flags,
> + unsigned int index, unsigned int start,
> + unsigned int count, void *data);
> + int (*get_region_info)(struct mdev_device *vdev, int region_index,
> + struct pci_region_info *region_info);
> + int (*validate_map_request)(struct mdev_device *vdev,
> + unsigned long virtaddr,
> + unsigned long *pfn, unsigned long *size,
> + pgprot_t *prot);
> +};
Dear Kirti:
When I rebased my vfio-ccw patches on this series, I found I need an
extra 'ioctl' callback in phy_device_ops.
The ccw physical device only supports one ccw mediated device. And I
have two new ioctl commands for the ccw mediated device. One is
to hot-reset the resource in the physical device that allocated for
the mediated device, the other is to do an I/O instruction translation
and perform an I/O operation on the physical device. I found the
existing callbacks could not meet my requirements.
Something like the following would be fine for my case:
int (*ioctl)(struct mdev_device *vdev,
unsigned int cmd,
unsigned long arg);
What do you think about this?
--------
Dong Jia
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver,
Dong Jia <=
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Tian, Kevin, 2016/06/03
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Kirti Wankhede, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Dong Jia, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Neo Jia, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Dong Jia, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Neo Jia, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Alex Williamson, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Tian, Kevin, 2016/06/06
- Re: [Qemu-devel] [RFC PATCH v4 1/3] Mediated device Core driver, Alex Williamson, 2016/06/07