diff mbox

[v4,05/17] monitor: register gen:false commands manually

Message ID 20160810180235.32469-6-marcandre.lureau@redhat.com
State New
Headers show

Commit Message

Marc-André Lureau Aug. 10, 2016, 6:02 p.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Since a few commands are using 'gen': false, they are not registered
automatically by the generator. Register manually instead.

This is in preparation for removal of qapi 'middle' mode generation.

Note that qmp_init_marshal() function isn't run yet, so the commands
aren't registered, until module_call_init(MODULE_INIT_QAPI) is added in
a later patch.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
 monitor.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Markus Armbruster Aug. 16, 2016, 12:27 p.m. UTC | #1
marcandre.lureau@redhat.com writes:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Since a few commands are using 'gen': false, they are not registered
> automatically by the generator. Register manually instead.
>
> This is in preparation for removal of qapi 'middle' mode generation.
>
> Note that qmp_init_marshal() function isn't run yet, so the commands
> aren't registered, until module_call_init(MODULE_INIT_QAPI) is added in

Suggest "aren't actually registered".  Can touch up on commit.

> a later patch.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>

Patch looks good.
diff mbox

Patch

diff --git a/monitor.c b/monitor.c
index e156026..b7ae552 100644
--- a/monitor.c
+++ b/monitor.c
@@ -79,6 +79,7 @@ 
 #include "sysemu/block-backend.h"
 #include "sysemu/qtest.h"
 #include "qemu/cutils.h"
+#include "qapi/qmp/dispatch.h"
 
 /* for hmp_info_irq/pic */
 #if defined(TARGET_SPARC)
@@ -1007,6 +1008,18 @@  static void qmp_query_qmp_schema(QDict *qdict, QObject **ret_data,
     *ret_data = qobject_from_json(qmp_schema_json);
 }
 
+static void qmp_init_marshal(void)
+{
+    qmp_register_command("query-qmp-schema", qmp_query_qmp_schema,
+                         QCO_NO_OPTIONS);
+    qmp_register_command("device_add", qmp_device_add,
+                         QCO_NO_OPTIONS);
+    qmp_register_command("netdev_add", qmp_netdev_add,
+                         QCO_NO_OPTIONS);
+}
+
+qapi_init(qmp_init_marshal);
+
 /* set the current CPU defined by the user */
 int monitor_set_cpu(int cpu_index)
 {