]> Git Repo - qemu.git/blobdiff - qapi/qmp-dispatch.c
Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-20180618' into staging
[qemu.git] / qapi / qmp-dispatch.c
index f9377b27fd1175aeb2bdf36c85acaba52ad0ac45..935f9e159c075c7f75e378f0eba3985d35a794b9 100644 (file)
@@ -18,6 +18,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qbool.h"
+#include "sysemu/sysemu.h"
 
 QDict *qmp_dispatch_check_obj(const QObject *request, Error **errp)
 {
@@ -101,6 +102,13 @@ static QObject *do_qmp_dispatch(QmpCommandList *cmds, QObject *request,
         return NULL;
     }
 
+    if (runstate_check(RUN_STATE_PRECONFIG) &&
+        !(cmd->options & QCO_ALLOW_PRECONFIG)) {
+        error_setg(errp, "The command '%s' isn't permitted in '%s' state",
+                   cmd->name, RunState_str(RUN_STATE_PRECONFIG));
+        return NULL;
+    }
+
     if (!qdict_haskey(dict, "arguments")) {
         args = qdict_new();
     } else {
This page took 0.0215 seconds and 4 git commands to generate.