[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 10/13] tests/plugins/insn: made arg inline not positional and
|
From: |
Mahmoud Mandour |
|
Subject: |
[PATCH v4 10/13] tests/plugins/insn: made arg inline not positional and parse it as bool |
|
Date: |
Fri, 30 Jul 2021 15:58:14 +0200 |
Made argument "inline" not positional, this has two benefits. First is
that we adhere to how QEMU passes args generally, by taking the last
value of an argument and drop the others. And the second is that this
sets up a framework for potentially adding new args easily.
Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/plugin/insn.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/tests/plugin/insn.c b/tests/plugin/insn.c
index c253980ec8..0f6a1938c1 100644
--- a/tests/plugin/insn.c
+++ b/tests/plugin/insn.c
@@ -62,8 +62,18 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t
id,
const qemu_info_t *info,
int argc, char **argv)
{
- if (argc && !strcmp(argv[0], "inline")) {
- do_inline = true;
+ for (int i = 0; i < argc; i++) {
+ char *opt = argv[i];
+ g_autofree char **tokens = g_strsplit(opt, "=", 2);
+ if (g_strcmp0(tokens[0], "inline") == 0) {
+ if (!qemu_plugin_bool_parse(tokens[0], tokens[1], &do_inline)) {
+ fprintf(stderr, "boolean argument parsing failed: %s\n", opt);
+ return -1;
+ }
+ } else {
+ fprintf(stderr, "option parsing failed: %s\n", opt);
+ return -1;
+ }
}
qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans);
--
2.25.1
- [PATCH v4 00/13] new plugin argument passing scheme, Mahmoud Mandour, 2021/07/30
- [PATCH v4 01/13] plugins: allow plugin arguments to be passed directly, Mahmoud Mandour, 2021/07/30
- [PATCH v4 02/13] plugins/api: added a boolean parsing plugin api, Mahmoud Mandour, 2021/07/30
- [PATCH v4 03/13] plugins/hotpages: introduce sortby arg and parsed bool args correctly, Mahmoud Mandour, 2021/07/30
- [PATCH v4 04/13] plugins/hotblocks: Added correct boolean argument parsing, Mahmoud Mandour, 2021/07/30
- [PATCH v4 05/13] plugins/lockstep: make socket path not positional & parse bool arg, Mahmoud Mandour, 2021/07/30
- [PATCH v4 06/13] plugins/hwprofile: adapt to the new plugin arguments scheme, Mahmoud Mandour, 2021/07/30
- [PATCH v4 07/13] plugins/howvec: adapting to the new argument passing scheme, Mahmoud Mandour, 2021/07/30
- [PATCH v4 08/13] docs/tcg-plugins: new passing parameters scheme for cache docs, Mahmoud Mandour, 2021/07/30
- [PATCH v4 09/13] tests/plugins/bb: adapt to the new arg passing scheme, Mahmoud Mandour, 2021/07/30
- [PATCH v4 10/13] tests/plugins/insn: made arg inline not positional and parse it as bool,
Mahmoud Mandour <=
- [PATCH v4 11/13] tests/plugins/mem: introduce "track" arg and make args not positional, Mahmoud Mandour, 2021/07/30
- [PATCH v4 12/13] tests/plugins/syscalls: adhere to new arg-passing scheme, Mahmoud Mandour, 2021/07/30
- [PATCH v4 13/13] docs/deprecated: deprecate passing plugin args through `arg=`, Mahmoud Mandour, 2021/07/30