qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16
@ 2016-03-16  9:54 Markus Armbruster
  2016-03-16  9:54 ` [Qemu-devel] [PULL 1/3] qdev-monitor: improve error message when alias device is unavailable Markus Armbruster
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Markus Armbruster @ 2016-03-16  9:54 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit a6cdb77f816961f929d7934643febd2852230135:

  Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2016-03-15 17:09:52 +0000)

are available in the git repository at:

  git://repo.or.cz/qemu/armbru.git tags/pull-monitor-2016-03-16

for you to fetch changes up to 588c36cac7a658758b3e0b60bfd62ebc2e4045c6:

  qdev-monitor: add missing aliases for virtio device classes (2016-03-16 10:13:10 +0100)

----------------------------------------------------------------
Monitor patches for 2016-03-16

----------------------------------------------------------------
Sascha Silbe (3):
      qdev-monitor: improve error message when alias device is unavailable
      qdev-monitor: sort alias table by typename
      qdev-monitor: add missing aliases for virtio device classes

 qdev-monitor.c | 42 ++++++++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 8 deletions(-)

-- 
2.4.3

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL 1/3] qdev-monitor: improve error message when alias device is unavailable
  2016-03-16  9:54 [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Markus Armbruster
@ 2016-03-16  9:54 ` Markus Armbruster
  2016-03-16  9:54 ` [Qemu-devel] [PULL 2/3] qdev-monitor: sort alias table by typename Markus Armbruster
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Markus Armbruster @ 2016-03-16  9:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sascha Silbe

From: Sascha Silbe <silbe@linux.vnet.ibm.com>

When trying to instantiate an alias that points to a device class that
doesn't exist, the error message looks like qemu misunderstood the
request:

$ s390x-softmmu/qemu-system-s390x -device virtio-gpu
qemu-system-s390x: -device virtio-gpu: 'virtio-gpu-ccw' is not a valid
device model name

Special-case the error message to make it explicit that alias
expansion is going on:

$ s390x-softmmu/qemu-system-s390x -device virtio-gpu
qemu-system-s390x: -device virtio-gpu: 'virtio-gpu' (alias
'virtio-gpu-ccw') is not a valid device model name

Suggested-By: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Message-Id: <1455831854-49013-2-git-send-email-silbe@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qdev-monitor.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/qdev-monitor.c b/qdev-monitor.c
index 81e3ff3..e5136d7 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -188,6 +188,7 @@ static DeviceClass *qdev_get_device_class(const char **driver, Error **errp)
 {
     ObjectClass *oc;
     DeviceClass *dc;
+    const char *original_name = *driver;
 
     oc = object_class_by_name(*driver);
     if (!oc) {
@@ -200,7 +201,12 @@ static DeviceClass *qdev_get_device_class(const char **driver, Error **errp)
     }
 
     if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) {
-        error_setg(errp, "'%s' is not a valid device model name", *driver);
+        if (*driver != original_name) {
+            error_setg(errp, "'%s' (alias '%s') is not a valid device model"
+                       " name", original_name, *driver);
+        } else {
+            error_setg(errp, "'%s' is not a valid device model name", *driver);
+        }
         return NULL;
     }
 
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL 2/3] qdev-monitor: sort alias table by typename
  2016-03-16  9:54 [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Markus Armbruster
  2016-03-16  9:54 ` [Qemu-devel] [PULL 1/3] qdev-monitor: improve error message when alias device is unavailable Markus Armbruster
@ 2016-03-16  9:54 ` Markus Armbruster
  2016-03-16  9:54 ` [Qemu-devel] [PULL 3/3] qdev-monitor: add missing aliases for virtio device classes Markus Armbruster
  2016-03-16 11:09 ` [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Markus Armbruster @ 2016-03-16  9:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sascha Silbe

From: Sascha Silbe <silbe@linux.vnet.ibm.com>

Sort the alias table by typename so it's easier to see which aliases
exist.

Signed-off-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Message-Id: <1455831854-49013-3-git-send-email-silbe@linux.vnet.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qdev-monitor.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/qdev-monitor.c b/qdev-monitor.c
index e5136d7..4e3681c 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -39,19 +39,20 @@ typedef struct QDevAlias
     uint32_t arch_mask;
 } QDevAlias;
 
+/* Please keep this table sorted by typename. */
 static const QDevAlias qdev_alias_table[] = {
-    { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
-    { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
-    { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "e1000", "e1000-82540em" },
+    { "ich9-ahci", "ahci" },
+    { "kvm-pci-assign", "pci-assign" },
+    { "lsi53c895a", "lsi" },
     { "virtio-balloon-pci", "virtio-balloon",
             QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_S390X },
+    { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { "virtio-net-ccw", "virtio-net", QEMU_ARCH_S390X },
+    { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { "virtio-serial-ccw", "virtio-serial", QEMU_ARCH_S390X },
-    { "lsi53c895a", "lsi" },
-    { "ich9-ahci", "ahci" },
-    { "kvm-pci-assign", "pci-assign" },
-    { "e1000", "e1000-82540em" },
+    { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { }
 };
 
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL 3/3] qdev-monitor: add missing aliases for virtio device classes
  2016-03-16  9:54 [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Markus Armbruster
  2016-03-16  9:54 ` [Qemu-devel] [PULL 1/3] qdev-monitor: improve error message when alias device is unavailable Markus Armbruster
  2016-03-16  9:54 ` [Qemu-devel] [PULL 2/3] qdev-monitor: sort alias table by typename Markus Armbruster
@ 2016-03-16  9:54 ` Markus Armbruster
  2016-03-16 11:09 ` [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Markus Armbruster @ 2016-03-16  9:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sascha Silbe

From: Sascha Silbe <silbe@linux.vnet.ibm.com>

virtio-{blk,balloon,net,serial} are aliases for their actual,
architecture-dependent implementations (*-ccw on s390x, *-pci on other
architectures supporting virtio). This makes it a lot easier to craft
qemu invocations that work on all supported architectures. Complete
the set to cover all existing non-abstract virtio device classes.

For virtio-balloon, only the CCW implementation was missing.

Signed-off-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Message-Id: <1455831854-49013-4-git-send-email-silbe@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qdev-monitor.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/qdev-monitor.c b/qdev-monitor.c
index 4e3681c..be6a07e 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -45,14 +45,33 @@ static const QDevAlias qdev_alias_table[] = {
     { "ich9-ahci", "ahci" },
     { "kvm-pci-assign", "pci-assign" },
     { "lsi53c895a", "lsi" },
+    { "virtio-9p-ccw", "virtio-9p", QEMU_ARCH_S390X },
+    { "virtio-9p-pci", "virtio-9p", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-balloon-ccw", "virtio-balloon", QEMU_ARCH_S390X },
     { "virtio-balloon-pci", "virtio-balloon",
             QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_S390X },
     { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-gpu-ccw", "virtio-gpu", QEMU_ARCH_S390X },
+    { "virtio-gpu-pci", "virtio-gpu", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-input-host-ccw", "virtio-input-host", QEMU_ARCH_S390X },
+    { "virtio-input-host-pci", "virtio-input-host",
+            QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-keyboard-ccw", "virtio-keyboard", QEMU_ARCH_S390X },
+    { "virtio-keyboard-pci", "virtio-keyboard",
+            QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-mouse-ccw", "virtio-mouse", QEMU_ARCH_S390X },
+    { "virtio-mouse-pci", "virtio-mouse", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { "virtio-net-ccw", "virtio-net", QEMU_ARCH_S390X },
     { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-rng-ccw", "virtio-rng", QEMU_ARCH_S390X },
+    { "virtio-rng-pci", "virtio-rng", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-scsi-ccw", "virtio-scsi", QEMU_ARCH_S390X },
+    { "virtio-scsi-pci", "virtio-scsi", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { "virtio-serial-ccw", "virtio-serial", QEMU_ARCH_S390X },
     { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+    { "virtio-tablet-ccw", "virtio-tablet", QEMU_ARCH_S390X },
+    { "virtio-tablet-pci", "virtio-tablet", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
     { }
 };
 
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16
  2016-03-16  9:54 [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Markus Armbruster
                   ` (2 preceding siblings ...)
  2016-03-16  9:54 ` [Qemu-devel] [PULL 3/3] qdev-monitor: add missing aliases for virtio device classes Markus Armbruster
@ 2016-03-16 11:09 ` Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2016-03-16 11:09 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: QEMU Developers

On 16 March 2016 at 09:54, Markus Armbruster <armbru@redhat.com> wrote:
> The following changes since commit a6cdb77f816961f929d7934643febd2852230135:
>
>   Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2016-03-15 17:09:52 +0000)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/armbru.git tags/pull-monitor-2016-03-16
>
> for you to fetch changes up to 588c36cac7a658758b3e0b60bfd62ebc2e4045c6:
>
>   qdev-monitor: add missing aliases for virtio device classes (2016-03-16 10:13:10 +0100)
>
> ----------------------------------------------------------------
> Monitor patches for 2016-03-16

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-03-16 11:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-16  9:54 [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Markus Armbruster
2016-03-16  9:54 ` [Qemu-devel] [PULL 1/3] qdev-monitor: improve error message when alias device is unavailable Markus Armbruster
2016-03-16  9:54 ` [Qemu-devel] [PULL 2/3] qdev-monitor: sort alias table by typename Markus Armbruster
2016-03-16  9:54 ` [Qemu-devel] [PULL 3/3] qdev-monitor: add missing aliases for virtio device classes Markus Armbruster
2016-03-16 11:09 ` [Qemu-devel] [PULL 0/3] Monitor patches for 2016-03-16 Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).