All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, mst@redhat.com, imammedo@redhat.com,
	ani@anisinha.ca, eduardo@habkost.net, marcel.apfelbaum@gmail.com,
	philmd@linaro.org, wangyanan55@huawei.com, jiri@resnulli.us,
	jasowang@redhat.com, pavel.dovgaluk@ispras.ru,
	pbonzini@redhat.com, zhanghailiang@xfusion.com,
	quintela@redhat.com, dgilbert@redhat.com, michael.roth@amd.com,
	kkostiuk@redhat.com
Subject: [PATCH 07/12] hw/acpi: Move QMP command to hw/core/
Date: Tue,  7 Feb 2023 08:51:10 +0100	[thread overview]
Message-ID: <20230207075115.1525-8-armbru@redhat.com> (raw)
In-Reply-To: <20230207075115.1525-1-armbru@redhat.com>

The QERR_ macros are leftovers from the days of "rich" error objects.
We've been trying to reduce their remaining use.

qmp_query_vm_generation_id() in stubs/vmgenid.c is the last user of
QERR_UNSUPPORTED outside qga/.  Unlike the stubs we just dropped, it
is actually reachable, namely when CONFIG_ACPI_VMGENID is off.  It
always fails like

    (qemu) info vm-generation-id
    Error: this feature or command is not currently supported

Turns out the real qmp_query_vm_generation_id() doesn't actually
depend on CONFIG_ACPI_VMGENID, and fails safely when it's off.  Move
it to hw/core/machine-qmp-cmds.c, and drop the stub.  The error
message becomes

    Error: VM Generation ID device not found

Feels like an improvement to me.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 MAINTAINERS                |  1 -
 hw/acpi/vmgenid.c          | 18 ------------------
 hw/core/machine-qmp-cmds.c | 18 ++++++++++++++++++
 stubs/vmgenid.c            | 10 ----------
 stubs/meson.build          |  1 -
 5 files changed, 18 insertions(+), 30 deletions(-)
 delete mode 100644 stubs/vmgenid.c

diff --git a/MAINTAINERS b/MAINTAINERS
index fa10ecaeb9..1abdd01661 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2267,7 +2267,6 @@ F: hw/acpi/vmgenid.c
 F: include/hw/acpi/vmgenid.h
 F: docs/specs/vmgenid.txt
 F: tests/qtest/vmgenid-test.c
-F: stubs/vmgenid.c
 
 LED
 M: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c
index 0c9f158ac9..a39315c1b3 100644
--- a/hw/acpi/vmgenid.c
+++ b/hw/acpi/vmgenid.c
@@ -12,7 +12,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "qapi/qapi-commands-machine.h"
 #include "qemu/module.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/aml-build.h"
@@ -244,20 +243,3 @@ static void vmgenid_register_types(void)
 }
 
 type_init(vmgenid_register_types)
-
-GuidInfo *qmp_query_vm_generation_id(Error **errp)
-{
-    GuidInfo *info;
-    VmGenIdState *vms;
-    Object *obj = find_vmgenid_dev();
-
-    if (!obj) {
-        error_setg(errp, "VM Generation ID device not found");
-        return NULL;
-    }
-    vms = VMGENID(obj);
-
-    info = g_malloc0(sizeof(*info));
-    info->guid = qemu_uuid_unparse_strdup(&vms->guid);
-    return info;
-}
diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c
index 44b5da8880..a6ed3a63c3 100644
--- a/hw/core/machine-qmp-cmds.c
+++ b/hw/core/machine-qmp-cmds.c
@@ -8,6 +8,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/acpi/vmgenid.h"
 #include "hw/boards.h"
 #include "hw/intc/intc.h"
 #include "hw/mem/memory-device.h"
@@ -383,3 +384,20 @@ HumanReadableText *qmp_x_query_irq(Error **errp)
 
     return human_readable_text_from_str(buf);
 }
+
+GuidInfo *qmp_query_vm_generation_id(Error **errp)
+{
+    GuidInfo *info;
+    VmGenIdState *vms;
+    Object *obj = find_vmgenid_dev();
+
+    if (!obj) {
+        error_setg(errp, "VM Generation ID device not found");
+        return NULL;
+    }
+    vms = VMGENID(obj);
+
+    info = g_malloc0(sizeof(*info));
+    info->guid = qemu_uuid_unparse_strdup(&vms->guid);
+    return info;
+}
diff --git a/stubs/vmgenid.c b/stubs/vmgenid.c
deleted file mode 100644
index bfad656c6c..0000000000
--- a/stubs/vmgenid.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "qemu/osdep.h"
-#include "qapi/error.h"
-#include "qapi/qapi-commands-machine.h"
-#include "qapi/qmp/qerror.h"
-
-GuidInfo *qmp_query_vm_generation_id(Error **errp)
-{
-    error_setg(errp, QERR_UNSUPPORTED);
-    return NULL;
-}
diff --git a/stubs/meson.build b/stubs/meson.build
index 981585cbdf..7657467a5d 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -45,7 +45,6 @@ stub_ss.add(files('target-get-monitor-def.c'))
 stub_ss.add(files('target-monitor-defs.c'))
 stub_ss.add(files('trace-control.c'))
 stub_ss.add(files('uuid.c'))
-stub_ss.add(files('vmgenid.c'))
 stub_ss.add(files('vmstate.c'))
 stub_ss.add(files('vm-stop.c'))
 stub_ss.add(files('win32-kbd-hook.c'))
-- 
2.39.0



  parent reply	other threads:[~2023-02-07  7:52 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-07  7:51 [PATCH 00/12] error: Reduce qerror.h usage a bit more Markus Armbruster
2023-02-07  7:51 ` [PATCH 01/12] error: Drop superfluous #include "qapi/qmp/qerror.h" Markus Armbruster
2023-02-07  8:45   ` Juan Quintela
2023-02-07 16:26     ` Konstantin Kostiuk
2023-02-07  7:51 ` [PATCH 02/12] dump: Improve error message when target doesn't support memory dump Markus Armbruster
2023-02-07  8:32   ` Philippe Mathieu-Daudé
2023-02-07 12:00     ` Markus Armbruster
2023-02-07  8:45   ` Juan Quintela
2023-02-07  7:51 ` [PATCH 03/12] dump: Assert cpu_get_note_size() can't fail Markus Armbruster
2023-02-07  8:46   ` Juan Quintela
2023-02-07  7:51 ` [PATCH 04/12] hw/core: Improve error message when machine doesn't provide NMIs Markus Armbruster
2023-02-07  8:47   ` Juan Quintela
2023-02-07  7:51 ` [PATCH 05/12] hw/smbios: Dumb down smbios_entry_add() stub Markus Armbruster
2023-02-07  8:50   ` Juan Quintela
2023-02-07  7:51 ` [PATCH 06/12] hw/acpi: Dumb down acpi_table_add() stub Markus Armbruster
2023-02-07  8:51   ` Juan Quintela
2023-02-07  7:51 ` Markus Armbruster [this message]
2023-02-07  8:52   ` [PATCH 07/12] hw/acpi: Move QMP command to hw/core/ Juan Quintela
2023-02-07  7:51 ` [PATCH 08/12] qga: Drop dangling reference to QERR_QGA_LOGGING_DISABLED Markus Armbruster
2023-02-07  8:53   ` Juan Quintela
2023-02-07 16:26     ` Konstantin Kostiuk
2023-02-07  7:51 ` [PATCH 09/12] replay: Simplify setting replay blockers Markus Armbruster
2023-02-07  8:38   ` Philippe Mathieu-Daudé
2023-02-07 12:50     ` Markus Armbruster
2023-02-07  7:51 ` [PATCH 10/12] hw/core: Improve the query-hotpluggable-cpus error message Markus Armbruster
2023-02-07  8:40   ` Philippe Mathieu-Daudé
2023-02-07 12:53     ` Markus Armbruster
2023-02-07  7:51 ` [PATCH 11/12] migration/colo: Improve an x-colo-lost-heartbeat " Markus Armbruster
2023-02-07  9:03   ` Juan Quintela
2023-02-07 10:10     ` Markus Armbruster
2023-02-07  7:51 ` [PATCH 12/12] rocker: Tweak stubbed out monitor commands' error messages Markus Armbruster
2023-02-07  9:04   ` Juan Quintela
2023-02-07  8:41 ` [PATCH 00/12] error: Reduce qerror.h usage a bit more Philippe Mathieu-Daudé

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=20230207075115.1525-8-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=ani@anisinha.ca \
    --cc=dgilbert@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=imammedo@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=kkostiuk@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=michael.roth@amd.com \
    --cc=mst@redhat.com \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=wangyanan55@huawei.com \
    --cc=zhanghailiang@xfusion.com \
    /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 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.