qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Amos Kong <akong@redhat.com>
To: qemu-devel@nongnu.org
Cc: armbru@redhat.com, libvirt-list@redhat.com,
	anthony@codemonkey.ws, pbonzini@redhat.com, afaerber@suse.de
Subject: [Qemu-devel] [PATCH v5 for 2.0 2/3] update names in option tables to match with actual command-line spelling
Date: Thu, 27 Mar 2014 21:04:30 +0800	[thread overview]
Message-ID: <1395925471-19841-3-git-send-email-akong@redhat.com> (raw)
In-Reply-To: <1395925471-19841-1-git-send-email-akong@redhat.com>

We want to establish a mapping between option name and option table,
then we can search related option table by option name.

This patch makes all the member name of QemuOptsList to match with
actual command-line spelling(option name).

[ Important Note ]

The QemuOptsList member name values are ABI, changing them can break
existing -readconfig configuration files.

This patch changes:

    from        to          introduced in
    acpi        acpitable   0c764a9 v1.5.0
    boot-opts   boot        3d3b830 v1.0
    smp-opts    smp         12b7f57 v1.6.0

All three have calcified into ABI already.

I have updated the release note of 2.0
http://wiki.qemu.org/ChangeLog/2.0#ABI_breaking

Signed-off-by: Amos Kong <akong@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
 hw/acpi/core.c        |  8 ++++----
 hw/nvram/fw_cfg.c     |  4 ++--
 include/qemu/option.h |  2 +-
 vl.c                  | 14 +++++++-------
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index 79414b4..12e9ae8 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -54,16 +54,16 @@ static const char unsigned dfl_hdr[ACPI_TABLE_HDR_SIZE - ACPI_TABLE_PFX_SIZE] =
 char unsigned *acpi_tables;
 size_t acpi_tables_len;
 
-static QemuOptsList qemu_acpi_opts = {
-    .name = "acpi",
+static QemuOptsList qemu_acpitable_opts = {
+    .name = "acpitable",
     .implied_opt_name = "data",
-    .head = QTAILQ_HEAD_INITIALIZER(qemu_acpi_opts.head),
+    .head = QTAILQ_HEAD_INITIALIZER(qemu_acpitable_opts.head),
     .desc = { { 0 } } /* validated with OptsVisitor */
 };
 
 static void acpi_register_config(void)
 {
-    qemu_add_opts(&qemu_acpi_opts);
+    qemu_add_opts(&qemu_acpitable_opts);
 }
 
 machine_init(acpi_register_config);
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 282341a..3e6b048 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -125,7 +125,7 @@ static void fw_cfg_bootsplash(FWCfgState *s)
     const char *temp;
 
     /* get user configuration */
-    QemuOptsList *plist = qemu_find_opts("boot-opts");
+    QemuOptsList *plist = qemu_find_opts("boot");
     QemuOpts *opts = QTAILQ_FIRST(&plist->head);
     if (opts != NULL) {
         temp = qemu_opt_get(opts, "splash");
@@ -191,7 +191,7 @@ static void fw_cfg_reboot(FWCfgState *s)
     const char *temp;
 
     /* get user configuration */
-    QemuOptsList *plist = qemu_find_opts("boot-opts");
+    QemuOptsList *plist = qemu_find_opts("boot");
     QemuOpts *opts = QTAILQ_FIRST(&plist->head);
     if (opts != NULL) {
         temp = qemu_opt_get(opts, "reboot-timeout");
diff --git a/include/qemu/option.h b/include/qemu/option.h
index 8c0ac34..96b7c29 100644
--- a/include/qemu/option.h
+++ b/include/qemu/option.h
@@ -102,7 +102,7 @@ typedef struct QemuOptDesc {
 } QemuOptDesc;
 
 struct QemuOptsList {
-    const char *name;
+    const char *name;  /* option name */
     const char *implied_opt_name;
     bool merge_lists;  /* Merge multiple uses of option into a single list? */
     QTAILQ_HEAD(, QemuOpts) head;
diff --git a/vl.c b/vl.c
index 596ecfa..0464494 100644
--- a/vl.c
+++ b/vl.c
@@ -388,7 +388,7 @@ static QemuOptsList qemu_machine_opts = {
 };
 
 static QemuOptsList qemu_boot_opts = {
-    .name = "boot-opts",
+    .name = "boot",
     .implied_opt_name = "order",
     .merge_lists = true,
     .head = QTAILQ_HEAD_INITIALIZER(qemu_boot_opts.head),
@@ -1359,7 +1359,7 @@ static void numa_add(const char *optarg)
 }
 
 static QemuOptsList qemu_smp_opts = {
-    .name = "smp-opts",
+    .name = "smp",
     .implied_opt_name = "cpus",
     .merge_lists = true,
     .head = QTAILQ_HEAD_INITIALIZER(qemu_smp_opts.head),
@@ -3241,7 +3241,7 @@ int main(int argc, char **argv, char **envp)
                 drive_add(IF_DEFAULT, 2, optarg, CDROM_OPTS);
                 break;
             case QEMU_OPTION_boot:
-                opts = qemu_opts_parse(qemu_find_opts("boot-opts"), optarg, 1);
+                opts = qemu_opts_parse(qemu_find_opts("boot"), optarg, 1);
                 if (!opts) {
                     exit(1);
                 }
@@ -3610,7 +3610,7 @@ int main(int argc, char **argv, char **envp)
                 break;
             }
             case QEMU_OPTION_acpitable:
-                opts = qemu_opts_parse(qemu_find_opts("acpi"), optarg, 1);
+                opts = qemu_opts_parse(qemu_find_opts("acpitable"), optarg, 1);
                 if (!opts) {
                     exit(1);
                 }
@@ -3677,7 +3677,7 @@ int main(int argc, char **argv, char **envp)
                 }
                 break;
             case QEMU_OPTION_smp:
-                if (!qemu_opts_parse(qemu_find_opts("smp-opts"), optarg, 1)) {
+                if (!qemu_opts_parse(qemu_find_opts("smp"), optarg, 1)) {
                     exit(1);
                 }
                 break;
@@ -4002,7 +4002,7 @@ int main(int argc, char **argv, char **envp)
         data_dir[data_dir_idx++] = CONFIG_QEMU_DATADIR;
     }
 
-    smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL));
+    smp_parse(qemu_opts_find(qemu_find_opts("smp"), NULL));
 
     machine->max_cpus = machine->max_cpus ?: 1; /* Default to UP */
     if (smp_cpus > machine->max_cpus) {
@@ -4186,7 +4186,7 @@ int main(int argc, char **argv, char **envp)
     bios_name = qemu_opt_get(machine_opts, "firmware");
 
     boot_order = machine->default_boot_order;
-    opts = qemu_opts_find(qemu_find_opts("boot-opts"), NULL);
+    opts = qemu_opts_find(qemu_find_opts("boot"), NULL);
     if (opts) {
         char *normal_boot_order;
         const char *order, *once;
-- 
1.8.5.3

  parent reply	other threads:[~2014-03-27 13:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-27 13:04 [Qemu-devel] [PATCH v5 for 2.0 0/3] ABI change: change group name of option table to match with option name Amos Kong
2014-03-27 13:04 ` [Qemu-devel] [PATCH v5 for 2.0 1/3] only add qemu_tpmdev_opts when CONFIG_TPM is defined Amos Kong
2014-03-28 12:04   ` Markus Armbruster
2014-03-28 15:47     ` [Qemu-devel] [libvirt] " Eric Blake
2014-03-28 17:46       ` Markus Armbruster
2014-03-27 13:04 ` Amos Kong [this message]
2014-03-27 13:04 ` [Qemu-devel] [PATCH v5 for 2.0 3/3] abort QEMU if group name in option table doesn't match with defined option name Amos Kong
2014-03-28 12:53   ` Leandro Dorileo
2014-03-28 14:55   ` Markus Armbruster
2014-03-28 15:19     ` Eric Blake
2014-03-28 17:43       ` Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1395925471-19841-3-git-send-email-akong@redhat.com \
    --to=akong@redhat.com \
    --cc=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=libvirt-list@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).