All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] Add -vga help
@ 2019-04-12 15:27 ` Marc-André Lureau
  0 siblings, 0 replies; 9+ messages in thread
From: Marc-André Lureau @ 2019-04-12 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, armbru, kraxel, Marc-André Lureau

Hi,

SSIA, see patches.

Marc-André Lureau (2):
  vl: constify VGAInterfaceInfo
  vl: add -vga help support

 vl.c | 46 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 34 insertions(+), 12 deletions(-)

-- 
2.21.0.313.ge35b8cb8e2

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

* [Qemu-devel] [PATCH 0/2] Add -vga help
@ 2019-04-12 15:27 ` Marc-André Lureau
  0 siblings, 0 replies; 9+ messages in thread
From: Marc-André Lureau @ 2019-04-12 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, armbru, Marc-André Lureau, kraxel

Hi,

SSIA, see patches.

Marc-André Lureau (2):
  vl: constify VGAInterfaceInfo
  vl: add -vga help support

 vl.c | 46 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 34 insertions(+), 12 deletions(-)

-- 
2.21.0.313.ge35b8cb8e2



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

* [Qemu-devel] [PATCH 1/2] vl: constify VGAInterfaceInfo
@ 2019-04-12 15:27   ` Marc-André Lureau
  0 siblings, 0 replies; 9+ messages in thread
From: Marc-André Lureau @ 2019-04-12 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, armbru, kraxel, Marc-André Lureau

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 vl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/vl.c b/vl.c
index c696ad2a13..0a96232e95 100644
--- a/vl.c
+++ b/vl.c
@@ -2026,7 +2026,7 @@ typedef struct VGAInterfaceInfo {
     const char *class_names[2];
 } VGAInterfaceInfo;
 
-static VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
+static const VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
     [VGA_NONE] = {
         .opt_name = "none",
     },
@@ -2072,7 +2072,7 @@ static VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
 
 static bool vga_interface_available(VGAInterfaceType t)
 {
-    VGAInterfaceInfo *ti = &vga_interfaces[t];
+    const VGAInterfaceInfo *ti = &vga_interfaces[t];
 
     assert(t < VGA_TYPE_MAX);
     return !ti->class_names[0] ||
@@ -2087,7 +2087,7 @@ static void select_vgahw(const char *p)
 
     assert(vga_interface_type == VGA_NONE);
     for (t = 0; t < VGA_TYPE_MAX; t++) {
-        VGAInterfaceInfo *ti = &vga_interfaces[t];
+        const VGAInterfaceInfo *ti = &vga_interfaces[t];
         if (ti->opt_name && strstart(p, ti->opt_name, &opts)) {
             if (!vga_interface_available(t)) {
                 error_report("%s not available", ti->name);
-- 
2.21.0.313.ge35b8cb8e2

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

* [Qemu-devel] [PATCH 1/2] vl: constify VGAInterfaceInfo
@ 2019-04-12 15:27   ` Marc-André Lureau
  0 siblings, 0 replies; 9+ messages in thread
From: Marc-André Lureau @ 2019-04-12 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, armbru, Marc-André Lureau, kraxel

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 vl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/vl.c b/vl.c
index c696ad2a13..0a96232e95 100644
--- a/vl.c
+++ b/vl.c
@@ -2026,7 +2026,7 @@ typedef struct VGAInterfaceInfo {
     const char *class_names[2];
 } VGAInterfaceInfo;
 
-static VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
+static const VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
     [VGA_NONE] = {
         .opt_name = "none",
     },
@@ -2072,7 +2072,7 @@ static VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
 
 static bool vga_interface_available(VGAInterfaceType t)
 {
-    VGAInterfaceInfo *ti = &vga_interfaces[t];
+    const VGAInterfaceInfo *ti = &vga_interfaces[t];
 
     assert(t < VGA_TYPE_MAX);
     return !ti->class_names[0] ||
@@ -2087,7 +2087,7 @@ static void select_vgahw(const char *p)
 
     assert(vga_interface_type == VGA_NONE);
     for (t = 0; t < VGA_TYPE_MAX; t++) {
-        VGAInterfaceInfo *ti = &vga_interfaces[t];
+        const VGAInterfaceInfo *ti = &vga_interfaces[t];
         if (ti->opt_name && strstart(p, ti->opt_name, &opts)) {
             if (!vga_interface_available(t)) {
                 error_report("%s not available", ti->name);
-- 
2.21.0.313.ge35b8cb8e2



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

* [Qemu-devel] [PATCH 2/2] vl: add -vga help support
@ 2019-04-12 15:27   ` Marc-André Lureau
  0 siblings, 0 replies; 9+ messages in thread
From: Marc-André Lureau @ 2019-04-12 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, armbru, kraxel, Marc-André Lureau

Provide help output similar to other argument help handling:

$ qemu-system-x86_64 -vga help
none
std                  standard VGA (default)
cirrus               Cirrus VGA
vmware               VMWare SVGA
xenfb
qxl                  QXL VGA
virtio               Virtio VG

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 vl.c | 40 +++++++++++++++++++++++++++++++---------
 1 file changed, 31 insertions(+), 9 deletions(-)

diff --git a/vl.c b/vl.c
index 0a96232e95..840c45c00f 100644
--- a/vl.c
+++ b/vl.c
@@ -2080,11 +2080,39 @@ static bool vga_interface_available(VGAInterfaceType t)
            object_class_by_name(ti->class_names[1]);
 }
 
-static void select_vgahw(const char *p)
+static const char *
+get_default_vga_model(const MachineClass *machine_class)
+{
+    if (machine_class->default_display) {
+        return machine_class->default_display;
+    } else if (vga_interface_available(VGA_CIRRUS)) {
+        return "cirrus";
+    } else if (vga_interface_available(VGA_STD)) {
+        return "std";
+    }
+
+    return NULL;
+}
+
+static void select_vgahw(const MachineClass *machine_class, const char *p)
 {
     const char *opts;
     int t;
 
+    if (g_str_equal(p, "help")) {
+        const char *def = get_default_vga_model(machine_class);
+
+        for (t = 0; t < VGA_TYPE_MAX; t++) {
+            const VGAInterfaceInfo *ti = &vga_interfaces[t];
+
+            if (vga_interface_available(t) && ti->opt_name) {
+                printf("%-20s %s%s\n", ti->opt_name, ti->name ?: "",
+                       g_str_equal(ti->opt_name, def) ? " (default)" : "");
+            }
+        }
+        exit(0);
+    }
+
     assert(vga_interface_type == VGA_NONE);
     for (t = 0; t < VGA_TYPE_MAX; t++) {
         const VGAInterfaceInfo *ti = &vga_interfaces[t];
@@ -4437,16 +4465,10 @@ int main(int argc, char **argv, char **envp)
 
     /* If no default VGA is requested, the default is "none".  */
     if (default_vga) {
-        if (machine_class->default_display) {
-            vga_model = machine_class->default_display;
-        } else if (vga_interface_available(VGA_CIRRUS)) {
-            vga_model = "cirrus";
-        } else if (vga_interface_available(VGA_STD)) {
-            vga_model = "std";
-        }
+        vga_model = get_default_vga_model(machine_class);
     }
     if (vga_model) {
-        select_vgahw(vga_model);
+        select_vgahw(machine_class, vga_model);
     }
 
     if (watchdog) {
-- 
2.21.0.313.ge35b8cb8e2

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

* [Qemu-devel] [PATCH 2/2] vl: add -vga help support
@ 2019-04-12 15:27   ` Marc-André Lureau
  0 siblings, 0 replies; 9+ messages in thread
From: Marc-André Lureau @ 2019-04-12 15:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, armbru, Marc-André Lureau, kraxel

Provide help output similar to other argument help handling:

$ qemu-system-x86_64 -vga help
none
std                  standard VGA (default)
cirrus               Cirrus VGA
vmware               VMWare SVGA
xenfb
qxl                  QXL VGA
virtio               Virtio VG

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 vl.c | 40 +++++++++++++++++++++++++++++++---------
 1 file changed, 31 insertions(+), 9 deletions(-)

diff --git a/vl.c b/vl.c
index 0a96232e95..840c45c00f 100644
--- a/vl.c
+++ b/vl.c
@@ -2080,11 +2080,39 @@ static bool vga_interface_available(VGAInterfaceType t)
            object_class_by_name(ti->class_names[1]);
 }
 
-static void select_vgahw(const char *p)
+static const char *
+get_default_vga_model(const MachineClass *machine_class)
+{
+    if (machine_class->default_display) {
+        return machine_class->default_display;
+    } else if (vga_interface_available(VGA_CIRRUS)) {
+        return "cirrus";
+    } else if (vga_interface_available(VGA_STD)) {
+        return "std";
+    }
+
+    return NULL;
+}
+
+static void select_vgahw(const MachineClass *machine_class, const char *p)
 {
     const char *opts;
     int t;
 
+    if (g_str_equal(p, "help")) {
+        const char *def = get_default_vga_model(machine_class);
+
+        for (t = 0; t < VGA_TYPE_MAX; t++) {
+            const VGAInterfaceInfo *ti = &vga_interfaces[t];
+
+            if (vga_interface_available(t) && ti->opt_name) {
+                printf("%-20s %s%s\n", ti->opt_name, ti->name ?: "",
+                       g_str_equal(ti->opt_name, def) ? " (default)" : "");
+            }
+        }
+        exit(0);
+    }
+
     assert(vga_interface_type == VGA_NONE);
     for (t = 0; t < VGA_TYPE_MAX; t++) {
         const VGAInterfaceInfo *ti = &vga_interfaces[t];
@@ -4437,16 +4465,10 @@ int main(int argc, char **argv, char **envp)
 
     /* If no default VGA is requested, the default is "none".  */
     if (default_vga) {
-        if (machine_class->default_display) {
-            vga_model = machine_class->default_display;
-        } else if (vga_interface_available(VGA_CIRRUS)) {
-            vga_model = "cirrus";
-        } else if (vga_interface_available(VGA_STD)) {
-            vga_model = "std";
-        }
+        vga_model = get_default_vga_model(machine_class);
     }
     if (vga_model) {
-        select_vgahw(vga_model);
+        select_vgahw(machine_class, vga_model);
     }
 
     if (watchdog) {
-- 
2.21.0.313.ge35b8cb8e2



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

* Re: [Qemu-devel] [PATCH 1/2] vl: constify VGAInterfaceInfo
  2019-04-12 15:27   ` Marc-André Lureau
  (?)
@ 2019-04-12 16:14   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-12 16:14 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel; +Cc: Paolo Bonzini, armbru, kraxel

On 4/12/19 5:27 PM, Marc-André Lureau wrote:
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  vl.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index c696ad2a13..0a96232e95 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2026,7 +2026,7 @@ typedef struct VGAInterfaceInfo {
>      const char *class_names[2];
>  } VGAInterfaceInfo;
>  
> -static VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
> +static const VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
>      [VGA_NONE] = {
>          .opt_name = "none",
>      },
> @@ -2072,7 +2072,7 @@ static VGAInterfaceInfo vga_interfaces[VGA_TYPE_MAX] = {
>  
>  static bool vga_interface_available(VGAInterfaceType t)
>  {
> -    VGAInterfaceInfo *ti = &vga_interfaces[t];
> +    const VGAInterfaceInfo *ti = &vga_interfaces[t];
>  
>      assert(t < VGA_TYPE_MAX);
>      return !ti->class_names[0] ||
> @@ -2087,7 +2087,7 @@ static void select_vgahw(const char *p)
>  
>      assert(vga_interface_type == VGA_NONE);
>      for (t = 0; t < VGA_TYPE_MAX; t++) {
> -        VGAInterfaceInfo *ti = &vga_interfaces[t];
> +        const VGAInterfaceInfo *ti = &vga_interfaces[t];
>          if (ti->opt_name && strstart(p, ti->opt_name, &opts)) {
>              if (!vga_interface_available(t)) {
>                  error_report("%s not available", ti->name);
> 

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

* Re: [Qemu-devel] [PATCH 2/2] vl: add -vga help support
  2019-04-12 15:27   ` Marc-André Lureau
  (?)
@ 2019-04-12 16:15   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-12 16:15 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel; +Cc: Paolo Bonzini, armbru, kraxel

On 4/12/19 5:27 PM, Marc-André Lureau wrote:
> Provide help output similar to other argument help handling:
> 
> $ qemu-system-x86_64 -vga help
> none
> std                  standard VGA (default)
> cirrus               Cirrus VGA
> vmware               VMWare SVGA
> xenfb
> qxl                  QXL VGA
> virtio               Virtio VG

Maybe you can show the previous behavior:

$ qemu-system-x86_64 -vga help
qemu-system-x86_64: unknown vga type: help

> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  vl.c | 40 +++++++++++++++++++++++++++++++---------
>  1 file changed, 31 insertions(+), 9 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 0a96232e95..840c45c00f 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2080,11 +2080,39 @@ static bool vga_interface_available(VGAInterfaceType t)
>             object_class_by_name(ti->class_names[1]);
>  }
>  
> -static void select_vgahw(const char *p)
> +static const char *
> +get_default_vga_model(const MachineClass *machine_class)
> +{
> +    if (machine_class->default_display) {
> +        return machine_class->default_display;
> +    } else if (vga_interface_available(VGA_CIRRUS)) {
> +        return "cirrus";
> +    } else if (vga_interface_available(VGA_STD)) {
> +        return "std";
> +    }
> +
> +    return NULL;
> +}
> +
> +static void select_vgahw(const MachineClass *machine_class, const char *p)
>  {
>      const char *opts;
>      int t;
>  
> +    if (g_str_equal(p, "help")) {
> +        const char *def = get_default_vga_model(machine_class);
> +
> +        for (t = 0; t < VGA_TYPE_MAX; t++) {
> +            const VGAInterfaceInfo *ti = &vga_interfaces[t];
> +
> +            if (vga_interface_available(t) && ti->opt_name) {
> +                printf("%-20s %s%s\n", ti->opt_name, ti->name ?: "",
> +                       g_str_equal(ti->opt_name, def) ? " (default)" : "");
> +            }
> +        }
> +        exit(0);
> +    }
> +
>      assert(vga_interface_type == VGA_NONE);
>      for (t = 0; t < VGA_TYPE_MAX; t++) {
>          const VGAInterfaceInfo *ti = &vga_interfaces[t];
> @@ -4437,16 +4465,10 @@ int main(int argc, char **argv, char **envp)
>  
>      /* If no default VGA is requested, the default is "none".  */
>      if (default_vga) {
> -        if (machine_class->default_display) {
> -            vga_model = machine_class->default_display;
> -        } else if (vga_interface_available(VGA_CIRRUS)) {
> -            vga_model = "cirrus";
> -        } else if (vga_interface_available(VGA_STD)) {
> -            vga_model = "std";
> -        }
> +        vga_model = get_default_vga_model(machine_class);
>      }
>      if (vga_model) {
> -        select_vgahw(vga_model);
> +        select_vgahw(machine_class, vga_model);
>      }
>  
>      if (watchdog) {
> 

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

* Re: [Qemu-devel] [PATCH 0/2] Add -vga help
  2019-04-12 15:27 ` Marc-André Lureau
                   ` (2 preceding siblings ...)
  (?)
@ 2019-05-07  7:49 ` Gerd Hoffmann
  -1 siblings, 0 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2019-05-07  7:49 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: Paolo Bonzini, qemu-devel, armbru

On Fri, Apr 12, 2019 at 05:27:11PM +0200, Marc-André Lureau wrote:
> Hi,
> 
> SSIA, see patches.

Series added to vga queue.

thanks,
  Gerd



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

end of thread, other threads:[~2019-05-07  7:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-12 15:27 [Qemu-devel] [PATCH 0/2] Add -vga help Marc-André Lureau
2019-04-12 15:27 ` Marc-André Lureau
2019-04-12 15:27 ` [Qemu-devel] [PATCH 1/2] vl: constify VGAInterfaceInfo Marc-André Lureau
2019-04-12 15:27   ` Marc-André Lureau
2019-04-12 16:14   ` Philippe Mathieu-Daudé
2019-04-12 15:27 ` [Qemu-devel] [PATCH 2/2] vl: add -vga help support Marc-André Lureau
2019-04-12 15:27   ` Marc-André Lureau
2019-04-12 16:15   ` Philippe Mathieu-Daudé
2019-05-07  7:49 ` [Qemu-devel] [PATCH 0/2] Add -vga help Gerd Hoffmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.