[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] virtio: clarify VirtioPCIDeviceTypeInfo usage
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH] virtio: clarify VirtioPCIDeviceTypeInfo usage |
Date: |
Wed, 24 Apr 2019 13:44:47 -0300 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Wed, Apr 24, 2019 at 04:24:01PM +0100, Stefan Hajnoczi wrote:
> How to use .base_name, .generic_name, .transitional_name, and
> .non_transitional_name can be confusing.
>
> Existing devices have .generic_name but its behavior is somewhat magic.
>
> Devices added to new versions of the VIRTIO specification should forego
> transitional mode completely and always operate in non-transitional mode
> because there are no existing drivers for them that require backwards
> compatibility.
>
> This patch adds comments that hopefully make it easier for developers to
> decide how to fill out VirtioPCIDeviceTypeInfo.
>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> hw/virtio/virtio-pci.h | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/hw/virtio/virtio-pci.h b/hw/virtio/virtio-pci.h
> index 18581854ca..debdee28b3 100644
> --- a/hw/virtio/virtio-pci.h
> +++ b/hw/virtio/virtio-pci.h
> @@ -209,7 +209,9 @@ typedef struct VirtioPCIDeviceTypeInfo {
> * Implements both INTERFACE_PCIE_DEVICE and
> INTERFACE_CONVENTIONAL_PCI_DEVICE,
> * but PCI Express is supported only in non-transitional mode.
> *
> - * The only type implemented by QEMU 3.1 and older.
> + * The only type implemented by QEMU 3.1 and older. This type is less
> + * explicit than the transitional and non-transitional device types. Its
> + * behavior can be affected by machine type compat properties.
I'm not sure what you mean here. All types can be affected by
machine type compat properties when necessary, don't they?
> */
> const char *generic_name;
> /*
> @@ -222,6 +224,9 @@ typedef struct VirtioPCIDeviceTypeInfo {
> * The non-transitional device type. Optional.
> *
> * Implements INTERFACE_CONVENTIONAL_PCI_DEVICE only.
> + *
> + * New virtio device types should only define this and base_name, thereby
> + * allowing only non-transitional mode.
> */
> const char *non_transitional_name;
>
> --
> 2.20.1
>
--
Eduardo