aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2024-07-29 15:44:14 +0100
committerAlex Bennée <alex.bennee@linaro.org>2024-07-30 11:44:21 +0100
commit7b690fd3d039211a5bdde6a74b0ff95cb8b872b0 (patch)
tree6bbd8d4013c5481882dcdfa6064c8070b2d161a1 /plugins
parent44e794896759236885f6d30d1f6b9b8b76355d52 (diff)
downloadqemu-7b690fd3d039211a5bdde6a74b0ff95cb8b872b0.zip
qemu-7b690fd3d039211a5bdde6a74b0ff95cb8b872b0.tar.gz
qemu-7b690fd3d039211a5bdde6a74b0ff95cb8b872b0.tar.bz2
plugin/loader: handle basic help query
As the list of options isn't fixed we do all the parsing by hand. Without any named arguments we automatically fill the "file" option with the value give so check if it is requesting help and dump some basic usage text. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240729144414.830369-15-alex.bennee@linaro.org>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/loader.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/loader.c b/plugins/loader.c
index 513a429..ebc01da 100644
--- a/plugins/loader.c
+++ b/plugins/loader.c
@@ -18,6 +18,7 @@
#include "qemu/osdep.h"
#include "qemu/error-report.h"
#include "qemu/config-file.h"
+#include "qemu/help_option.h"
#include "qapi/error.h"
#include "qemu/lockable.h"
#include "qemu/option.h"
@@ -98,7 +99,12 @@ static int plugin_add(void *opaque, const char *name, const char *value,
bool is_on;
char *fullarg;
- if (strcmp(name, "file") == 0) {
+ if (is_help_option(value)) {
+ printf("Plugin options\n");
+ printf(" file=<path/to/plugin.so>\n");
+ printf(" plugin specific arguments\n");
+ exit(0);
+ } else if (strcmp(name, "file") == 0) {
if (strcmp(value, "") == 0) {
error_setg(errp, "requires a non-empty argument");
return 1;