Patchwork [1/2] qdev: Add a DEV_NVECTORS_UNSPECIFIED enum for unspecified nr of MSI vectors

login
register
mail settings
Submitter Amit Shah
Date Feb. 25, 2010, 11:54 a.m.
Message ID <1267098884-5103-1-git-send-email-amit.shah@redhat.com>
Download mbox | patch
Permalink /patch/46234/
State New
Headers show

Comments

Amit Shah - Feb. 25, 2010, 11:54 a.m.
net.c used a constant to signify no MSI vectors were specified. Extend
that to all qdev devices.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Reported-by: "Michael S. Tsirkin" <mst@redhat.com>
---
 hw/qdev.c |    2 +-
 hw/qdev.h |    4 ++++
 net.c     |    6 ++++--
 net.h     |    3 ---
 4 files changed, 9 insertions(+), 6 deletions(-)
Michael S. Tsirkin - Feb. 25, 2010, 12:02 p.m.
On Thu, Feb 25, 2010 at 05:24:43PM +0530, Amit Shah wrote:
> net.c used a constant to signify no MSI vectors were specified. Extend
> that to all qdev devices.
> 
> Signed-off-by: Amit Shah <amit.shah@redhat.com>
> Reported-by: "Michael S. Tsirkin" <mst@redhat.com>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/qdev.c |    2 +-
>  hw/qdev.h |    4 ++++
>  net.c     |    6 ++++--
>  net.h     |    3 ---
>  4 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/qdev.c b/hw/qdev.c
> index d0052d4..b634890 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -387,7 +387,7 @@ void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd)
>          qdev_prop_set_vlan(dev, "vlan", nd->vlan);
>      if (nd->netdev)
>          qdev_prop_set_netdev(dev, "netdev", nd->netdev);
> -    if (nd->nvectors != NIC_NVECTORS_UNSPECIFIED &&
> +    if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED &&
>          qdev_prop_exists(dev, "vectors")) {
>          qdev_prop_set_uint32(dev, "vectors", nd->nvectors);
>      }
> diff --git a/hw/qdev.h b/hw/qdev.h
> index 0eb45b0..adfcf79 100644
> --- a/hw/qdev.h
> +++ b/hw/qdev.h
> @@ -24,6 +24,10 @@ enum DevState {
>      DEV_STATE_INITIALIZED,
>  };
>  
> +enum {
> +    DEV_NVECTORS_UNSPECIFIED = -1,
> +};
> +
>  /* This structure should not be accessed directly.  We declare it here
>     so that it can be embedded in individual device state structures.  */
>  struct DeviceState {
> diff --git a/net.c b/net.c
> index a1bf49f..dd3962e 100644
> --- a/net.c
> +++ b/net.c
> @@ -35,6 +35,7 @@
>  #include "sysemu.h"
>  #include "qemu-common.h"
>  #include "qemu_socket.h"
> +#include "hw/qdev.h"
>  
>  static QTAILQ_HEAD(, VLANState) vlans;
>  static QTAILQ_HEAD(, VLANClientState) non_vlan_clients;
> @@ -804,8 +805,9 @@ static int net_init_nic(QemuOpts *opts,
>          return -1;
>      }
>  
> -    nd->nvectors = qemu_opt_get_number(opts, "vectors", NIC_NVECTORS_UNSPECIFIED);
> -    if (nd->nvectors != NIC_NVECTORS_UNSPECIFIED &&
> +    nd->nvectors = qemu_opt_get_number(opts, "vectors",
> +                                       DEV_NVECTORS_UNSPECIFIED);
> +    if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED &&
>          (nd->nvectors < 0 || nd->nvectors > 0x7ffffff)) {
>          qemu_error("invalid # of vectors: %d\n", nd->nvectors);
>          return -1;
> diff --git a/net.h b/net.h
> index 33a1eaf..16f19c5 100644
> --- a/net.h
> +++ b/net.h
> @@ -123,9 +123,6 @@ void do_set_link(Monitor *mon, const QDict *qdict);
>  /* NIC info */
>  
>  #define MAX_NICS 8
> -enum {
> -	NIC_NVECTORS_UNSPECIFIED = -1
> -};
>  
>  struct NICInfo {
>      uint8_t macaddr[6];
> -- 
> 1.6.2.5
> 
>
Anthony Liguori - March 9, 2010, 2:25 p.m.
On 02/25/2010 05:54 AM, Amit Shah wrote:
> net.c used a constant to signify no MSI vectors were specified. Extend
> that to all qdev devices.
>
> Signed-off-by: Amit Shah<amit.shah@redhat.com>
> Reported-by: "Michael S. Tsirkin"<mst@redhat.com>
>    

Applied.  Thanks.

Regards,

Anthony Liguori
> ---
>   hw/qdev.c |    2 +-
>   hw/qdev.h |    4 ++++
>   net.c     |    6 ++++--
>   net.h     |    3 ---
>   4 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/hw/qdev.c b/hw/qdev.c
> index d0052d4..b634890 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -387,7 +387,7 @@ void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd)
>           qdev_prop_set_vlan(dev, "vlan", nd->vlan);
>       if (nd->netdev)
>           qdev_prop_set_netdev(dev, "netdev", nd->netdev);
> -    if (nd->nvectors != NIC_NVECTORS_UNSPECIFIED&&
> +    if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED&&
>           qdev_prop_exists(dev, "vectors")) {
>           qdev_prop_set_uint32(dev, "vectors", nd->nvectors);
>       }
> diff --git a/hw/qdev.h b/hw/qdev.h
> index 0eb45b0..adfcf79 100644
> --- a/hw/qdev.h
> +++ b/hw/qdev.h
> @@ -24,6 +24,10 @@ enum DevState {
>       DEV_STATE_INITIALIZED,
>   };
>
> +enum {
> +    DEV_NVECTORS_UNSPECIFIED = -1,
> +};
> +
>   /* This structure should not be accessed directly.  We declare it here
>      so that it can be embedded in individual device state structures.  */
>   struct DeviceState {
> diff --git a/net.c b/net.c
> index a1bf49f..dd3962e 100644
> --- a/net.c
> +++ b/net.c
> @@ -35,6 +35,7 @@
>   #include "sysemu.h"
>   #include "qemu-common.h"
>   #include "qemu_socket.h"
> +#include "hw/qdev.h"
>
>   static QTAILQ_HEAD(, VLANState) vlans;
>   static QTAILQ_HEAD(, VLANClientState) non_vlan_clients;
> @@ -804,8 +805,9 @@ static int net_init_nic(QemuOpts *opts,
>           return -1;
>       }
>
> -    nd->nvectors = qemu_opt_get_number(opts, "vectors", NIC_NVECTORS_UNSPECIFIED);
> -    if (nd->nvectors != NIC_NVECTORS_UNSPECIFIED&&
> +    nd->nvectors = qemu_opt_get_number(opts, "vectors",
> +                                       DEV_NVECTORS_UNSPECIFIED);
> +    if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED&&
>           (nd->nvectors<  0 || nd->nvectors>  0x7ffffff)) {
>           qemu_error("invalid # of vectors: %d\n", nd->nvectors);
>           return -1;
> diff --git a/net.h b/net.h
> index 33a1eaf..16f19c5 100644
> --- a/net.h
> +++ b/net.h
> @@ -123,9 +123,6 @@ void do_set_link(Monitor *mon, const QDict *qdict);
>   /* NIC info */
>
>   #define MAX_NICS 8
> -enum {
> -	NIC_NVECTORS_UNSPECIFIED = -1
> -};
>
>   struct NICInfo {
>       uint8_t macaddr[6];
>

Patch

diff --git a/hw/qdev.c b/hw/qdev.c
index d0052d4..b634890 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -387,7 +387,7 @@  void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd)
         qdev_prop_set_vlan(dev, "vlan", nd->vlan);
     if (nd->netdev)
         qdev_prop_set_netdev(dev, "netdev", nd->netdev);
-    if (nd->nvectors != NIC_NVECTORS_UNSPECIFIED &&
+    if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED &&
         qdev_prop_exists(dev, "vectors")) {
         qdev_prop_set_uint32(dev, "vectors", nd->nvectors);
     }
diff --git a/hw/qdev.h b/hw/qdev.h
index 0eb45b0..adfcf79 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -24,6 +24,10 @@  enum DevState {
     DEV_STATE_INITIALIZED,
 };
 
+enum {
+    DEV_NVECTORS_UNSPECIFIED = -1,
+};
+
 /* This structure should not be accessed directly.  We declare it here
    so that it can be embedded in individual device state structures.  */
 struct DeviceState {
diff --git a/net.c b/net.c
index a1bf49f..dd3962e 100644
--- a/net.c
+++ b/net.c
@@ -35,6 +35,7 @@ 
 #include "sysemu.h"
 #include "qemu-common.h"
 #include "qemu_socket.h"
+#include "hw/qdev.h"
 
 static QTAILQ_HEAD(, VLANState) vlans;
 static QTAILQ_HEAD(, VLANClientState) non_vlan_clients;
@@ -804,8 +805,9 @@  static int net_init_nic(QemuOpts *opts,
         return -1;
     }
 
-    nd->nvectors = qemu_opt_get_number(opts, "vectors", NIC_NVECTORS_UNSPECIFIED);
-    if (nd->nvectors != NIC_NVECTORS_UNSPECIFIED &&
+    nd->nvectors = qemu_opt_get_number(opts, "vectors",
+                                       DEV_NVECTORS_UNSPECIFIED);
+    if (nd->nvectors != DEV_NVECTORS_UNSPECIFIED &&
         (nd->nvectors < 0 || nd->nvectors > 0x7ffffff)) {
         qemu_error("invalid # of vectors: %d\n", nd->nvectors);
         return -1;
diff --git a/net.h b/net.h
index 33a1eaf..16f19c5 100644
--- a/net.h
+++ b/net.h
@@ -123,9 +123,6 @@  void do_set_link(Monitor *mon, const QDict *qdict);
 /* NIC info */
 
 #define MAX_NICS 8
-enum {
-	NIC_NVECTORS_UNSPECIFIED = -1
-};
 
 struct NICInfo {
     uint8_t macaddr[6];