Patchwork [2/4] virtio-serial: Add description fields for qdev properties

login
register
mail settings
Submitter Amit Shah
Date Jan. 4, 2011, 12:22 p.m.
Message ID <fac733b8215a845edf2ac8d2fd70c1e32cc1ef56.1294143628.git.amit.shah@redhat.com>
Download mbox | patch
Permalink /patch/77461/
State New
Headers show

Comments

Amit Shah - Jan. 4, 2011, 12:22 p.m.
Document the parameters for the virtserialport and virtioconsole
devices.

Example:

$ ./x86_64-softmmu/qemu-system-x86_64 -device virtserialport,?
virtserialport.nr=uint32, The 'number' for the port for \
predictable port numbers. Use this to spawn ports if you \
plan to migrate the guest.

virtserialport.chardev=chr, The chardev to associate this port with.

virtserialport.name=string, Name for the port that's exposed to \
the guest for port discovery.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 hw/virtio-console.c |   17 ++++++++++-------
 hw/virtio-serial.h  |   13 +++++++++++++
 2 files changed, 23 insertions(+), 7 deletions(-)
Markus Armbruster - Jan. 10, 2011, 2:47 p.m.
Amit Shah <amit.shah@redhat.com> writes:

> Document the parameters for the virtserialport and virtioconsole
> devices.
>
> Example:
>
> $ ./x86_64-softmmu/qemu-system-x86_64 -device virtserialport,?
> virtserialport.nr=uint32, The 'number' for the port for \
> predictable port numbers. Use this to spawn ports if you \
> plan to migrate the guest.
>
> virtserialport.chardev=chr, The chardev to associate this port with.
>
> virtserialport.name=string, Name for the port that's exposed to \
> the guest for port discovery.
>
> Signed-off-by: Amit Shah <amit.shah@redhat.com>
> ---
>  hw/virtio-console.c |   17 ++++++++++-------
>  hw/virtio-serial.h  |   13 +++++++++++++
>  2 files changed, 23 insertions(+), 7 deletions(-)
>
> diff --git a/hw/virtio-console.c b/hw/virtio-console.c
> index ccd277a..8a99a99 100644
> --- a/hw/virtio-console.c
> +++ b/hw/virtio-console.c
> @@ -95,11 +95,13 @@ static VirtIOSerialPortInfo virtconsole_info = {
>      .init          = virtconsole_initfn,
>      .exit          = virtconsole_exitfn,
>      .qdev.props = (Property[]) {
> -        DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1, ""),
> +        DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1,
> +                          PROP_VIRTSERIAL_IS_CONSOLE_DESC),
>          DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
> -                           ""),
> -        DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
> -        DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
> +                           PROP_VIRTSERIAL_NR_DESC),
> +        DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
> +        DEFINE_PROP_STRING("name", VirtConsole, port.name,
> +                           PROP_VIRTSERIAL_NAME_DESC),
>          DEFINE_PROP_END_OF_LIST(),
>      },
>  };
> @@ -133,9 +135,10 @@ static VirtIOSerialPortInfo virtserialport_info = {
>      .exit          = virtconsole_exitfn,
>      .qdev.props = (Property[]) {
>          DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
> -                           ""),
> -        DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
> -        DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
> +                           PROP_VIRTSERIAL_NR_DESC),
> +        DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
> +        DEFINE_PROP_STRING("name", VirtConsole, port.name,
> +                           PROP_VIRTSERIAL_NAME_DESC),
>          DEFINE_PROP_END_OF_LIST(),
>      },
>  };
> diff --git a/hw/virtio-serial.h b/hw/virtio-serial.h
> index ff08c40..187d5e4 100644
> --- a/hw/virtio-serial.h
> +++ b/hw/virtio-serial.h
> @@ -57,6 +57,19 @@ struct virtio_console_control {
>  
>  /* == In-qemu interface == */
>  
> +#define PROP_VIRTSERIAL_IS_CONSOLE_DESC                                 \
> +    "An hvc console will be spawned in the guest if this is set."
> +
> +#define PROP_VIRTSERIAL_NR_DESC                                         \
> +    "The 'number' for the port for predictable port numbers. Use this to " \
> +    "spawn ports if you plan to migrate the guest."
> +
> +#define PROP_VIRTSERIAL_CHR_DESC                \
> +    "The chardev to associate this port with."
> +
> +#define PROP_VIRTSERIAL_NAME_DESC                \
> +    "Name for the port that's exposed to the guest for port discovery."
> +
>  typedef struct VirtIOSerial VirtIOSerial;
>  typedef struct VirtIOSerialBus VirtIOSerialBus;
>  typedef struct VirtIOSerialPort VirtIOSerialPort;

Let me elaborate on my comment asking for prettier output.  Here's how I
expect -virtconsole,\? look like with your code:

virtconsole.is_console=uint8, An hvc console will be spawned in the guest if this is set.
virtconsole.nr=uint32, The 'number' for the port for predictable port numbers. Use this to spawn ports if you plan to migrate the guest.
virtconsole.chardev=chr, The chardev to associate this port with.
virtconsole.name=string, Name for the port that's exposed to the guest for port discovery.

Long lines, hard to read.

By the way, properties without a description are printed with a trailing
", ".  I find that irritating.

We can do better by adopting suitable conventions for the help text, say
"first line is a brief description (50 characters max), like a headline
(no sentence-ending period), following lines (if any) are 70 characters
max."

Then we print it like this:

virtconsole.nr=uint32    First line, 50 characters max., just like this one
     More lines (if any)

When the X=Y part is long, we can break like this:

virtconsole.is_console=uint8
                         First line, 50 characters max., just like this one
     More lines (if any)

or maybe

virtconsole.is_console=uint8
     First line, 50 characters max., just like this one
     More lines (if any)

Patch

diff --git a/hw/virtio-console.c b/hw/virtio-console.c
index ccd277a..8a99a99 100644
--- a/hw/virtio-console.c
+++ b/hw/virtio-console.c
@@ -95,11 +95,13 @@  static VirtIOSerialPortInfo virtconsole_info = {
     .init          = virtconsole_initfn,
     .exit          = virtconsole_exitfn,
     .qdev.props = (Property[]) {
-        DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1, ""),
+        DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1,
+                          PROP_VIRTSERIAL_IS_CONSOLE_DESC),
         DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
-                           ""),
-        DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
-        DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
+                           PROP_VIRTSERIAL_NR_DESC),
+        DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
+        DEFINE_PROP_STRING("name", VirtConsole, port.name,
+                           PROP_VIRTSERIAL_NAME_DESC),
         DEFINE_PROP_END_OF_LIST(),
     },
 };
@@ -133,9 +135,10 @@  static VirtIOSerialPortInfo virtserialport_info = {
     .exit          = virtconsole_exitfn,
     .qdev.props = (Property[]) {
         DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
-                           ""),
-        DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
-        DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
+                           PROP_VIRTSERIAL_NR_DESC),
+        DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
+        DEFINE_PROP_STRING("name", VirtConsole, port.name,
+                           PROP_VIRTSERIAL_NAME_DESC),
         DEFINE_PROP_END_OF_LIST(),
     },
 };
diff --git a/hw/virtio-serial.h b/hw/virtio-serial.h
index ff08c40..187d5e4 100644
--- a/hw/virtio-serial.h
+++ b/hw/virtio-serial.h
@@ -57,6 +57,19 @@  struct virtio_console_control {
 
 /* == In-qemu interface == */
 
+#define PROP_VIRTSERIAL_IS_CONSOLE_DESC                                 \
+    "An hvc console will be spawned in the guest if this is set."
+
+#define PROP_VIRTSERIAL_NR_DESC                                         \
+    "The 'number' for the port for predictable port numbers. Use this to " \
+    "spawn ports if you plan to migrate the guest."
+
+#define PROP_VIRTSERIAL_CHR_DESC                \
+    "The chardev to associate this port with."
+
+#define PROP_VIRTSERIAL_NAME_DESC                \
+    "Name for the port that's exposed to the guest for port discovery."
+
 typedef struct VirtIOSerial VirtIOSerial;
 typedef struct VirtIOSerialBus VirtIOSerialBus;
 typedef struct VirtIOSerialPort VirtIOSerialPort;