qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [v2][RFC][PATCH] virtio: uniform virtio device IDs


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [v2][RFC][PATCH] virtio: uniform virtio device IDs
Date: Mon, 9 Feb 2015 20:57:42 +0100

On Fri, Feb 06, 2015 at 01:41:26PM +0800, Tiejun Chen wrote:
> Actually we define these device IDs in virtio standard, so
> we'd better put them into one common place to manage conveniently.
> Here I also add VIRTIO_ID_RESERVE according to virtio spec.
> 
> Signed-off-by: Tiejun Chen <address@hidden>

So I just posted a script that pulls in headers from
a linux tree, doing minor changes required to
make the headers portable, such as
linux/types.h -> inttypes.h

I think it's a better idea, a virtio 1.0
work will benefit from this too.

> ---
>  hw/9pfs/virtio-9p.h                |  2 --
>  include/hw/virtio/virtio-balloon.h |  3 ---
>  include/hw/virtio/virtio-blk.h     |  3 ---
>  include/hw/virtio/virtio-rng.h     |  3 ---
>  include/hw/virtio/virtio-scsi.h    |  3 ---
>  include/hw/virtio/virtio-serial.h  |  3 ---
>  include/hw/virtio/virtio.h         | 16 ++++++++++++++++
>  pc-bios/s390-ccw/virtio.h          |  8 +-------
>  8 files changed, 17 insertions(+), 24 deletions(-)
> 
> diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
> index 2c3603a..228e05d 100644
> --- a/hw/9pfs/virtio-9p.h
> +++ b/hw/9pfs/virtio-9p.h
> @@ -146,8 +146,6 @@ struct V9fsPDU
>  
>  /* from Linux's linux/virtio_9p.h */
>  
> -/* The ID for virtio console */
> -#define VIRTIO_ID_9P    9
>  #define MAX_REQ         128
>  #define MAX_TAG_LEN     32
>  
> diff --git a/include/hw/virtio/virtio-balloon.h 
> b/include/hw/virtio/virtio-balloon.h
> index f863bfe..6e0a775 100644
> --- a/include/hw/virtio/virtio-balloon.h
> +++ b/include/hw/virtio/virtio-balloon.h
> @@ -24,9 +24,6 @@
>  
>  /* from Linux's linux/virtio_balloon.h */
>  
> -/* The ID for virtio_balloon */
> -#define VIRTIO_ID_BALLOON 5
> -
>  /* The feature bitmap for virtio balloon */
>  #define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */
>  #define VIRTIO_BALLOON_F_STATS_VQ 1       /* Memory stats virtqueue */
> diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
> index 4652b70..6ee3e8f 100644
> --- a/include/hw/virtio/virtio-blk.h
> +++ b/include/hw/virtio/virtio-blk.h
> @@ -25,9 +25,6 @@
>  
>  /* from Linux's linux/virtio_blk.h */
>  
> -/* The ID for virtio_block */
> -#define VIRTIO_ID_BLOCK 2
> -
>  /* Feature bits */
>  #define VIRTIO_BLK_F_BARRIER    0       /* Does host support barriers? */
>  #define VIRTIO_BLK_F_SIZE_MAX   1       /* Indicates maximum segment size */
> diff --git a/include/hw/virtio/virtio-rng.h b/include/hw/virtio/virtio-rng.h
> index 14e85a5..e2bb6ce 100644
> --- a/include/hw/virtio/virtio-rng.h
> +++ b/include/hw/virtio/virtio-rng.h
> @@ -21,9 +21,6 @@
>  #define VIRTIO_RNG_GET_PARENT_CLASS(obj) \
>          OBJECT_GET_PARENT_CLASS(obj, TYPE_VIRTIO_RNG)
>  
> -/* The Virtio ID for the virtio rng device */
> -#define VIRTIO_ID_RNG    4
> -
>  struct VirtIORNGConf {
>      RngBackend *rng;
>      uint64_t max_bytes;
> diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
> index bf17cc9..9606f43 100644
> --- a/include/hw/virtio/virtio-scsi.h
> +++ b/include/hw/virtio/virtio-scsi.h
> @@ -29,9 +29,6 @@
>          OBJECT_CHECK(VirtIOSCSI, (obj), TYPE_VIRTIO_SCSI)
>  
>  
> -/* The ID for virtio_scsi */
> -#define VIRTIO_ID_SCSI  8
> -
>  /* Feature Bits */
>  #define VIRTIO_SCSI_F_INOUT                    0
>  #define VIRTIO_SCSI_F_HOTPLUG                  1
> diff --git a/include/hw/virtio/virtio-serial.h 
> b/include/hw/virtio/virtio-serial.h
> index 11af978..1dcced6 100644
> --- a/include/hw/virtio/virtio-serial.h
> +++ b/include/hw/virtio/virtio-serial.h
> @@ -20,9 +20,6 @@
>  
>  /* == Interface shared between the guest kernel and qemu == */
>  
> -/* The Virtio ID for virtio console / serial ports */
> -#define VIRTIO_ID_CONSOLE            3
> -
>  /* Features supported */
>  #define VIRTIO_CONSOLE_F_MULTIPORT   1
>  
> diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
> index f24997d..9ad6bb2 100644
> --- a/include/hw/virtio/virtio.h
> +++ b/include/hw/virtio/virtio.h
> @@ -23,6 +23,22 @@
>  #include "hw/virtio/virtio-9p.h"
>  #endif
>  
> +/* Refer to Linux's linux/virtio_ids.h */
> +
> +enum virtio_dev_type {
> +    VIRTIO_ID_RESERVED  = 0, /* invalid virtio device */
> +    VIRTIO_ID_NET = 1, /* virtio net */
> +    VIRTIO_ID_BLOCK  = 2, /* virtio block */
> +    VIRTIO_ID_CONSOLE = 3, /* virtio console */
> +    VIRTIO_ID_RNG = 4, /* virtio rng */
> +    VIRTIO_ID_BALLOON = 5, /* virtio balloon */
> +    VIRTIO_ID_RPMSG  = 7, /* virtio remote processor messaging */
> +    VIRTIO_ID_SCSI = 8, /* virtio scsi */
> +    VIRTIO_ID_9P = 9, /* 9p virtio console */
> +    VIRTIO_ID_RPROC_SERIAL = 11, /* virtio remoteproc serial link */
> +    VIRTIO_ID_CAIF = 12, /* Virtio caif */
> +};
> +
>  /* from Linux's linux/virtio_config.h */
>  
>  /* Status byte for guest to report progress, and synchronize features. */
> diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h
> index c23466b..2eabcb4 100644
> --- a/pc-bios/s390-ccw/virtio.h
> +++ b/pc-bios/s390-ccw/virtio.h
> @@ -11,6 +11,7 @@
>  #ifndef VIRTIO_H
>  #define VIRTIO_H
>  
> +#include "hw/virtio/virtio.h"
>  #include "s390-ccw.h"
>  
>  /* Status byte for guest to report progress, and synchronize features. */
> @@ -23,13 +24,6 @@
>  /* We've given up on this device. */
>  #define VIRTIO_CONFIG_S_FAILED          0x80
>  
> -enum virtio_dev_type {
> -    VIRTIO_ID_NET = 1,
> -    VIRTIO_ID_BLOCK = 2,
> -    VIRTIO_ID_CONSOLE = 3,
> -    VIRTIO_ID_BALLOON = 5,
> -};
> -
>  struct virtio_dev_header {
>      enum virtio_dev_type type : 8;
>      u8  num_vq;
> -- 
> 1.9.1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]