mirror of https://github.com/xemu-project/xemu.git
tests/plugins/insn: made arg inline not positional and parse it as bool
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> Message-Id: <20210730135817.17816-11-ma.mandourr@gmail.com> [AJB: fix check-tcg tests calling arg=inline] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
parent
30b95b4452
commit
0163ce3179
|
@ -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);
|
||||
|
|
|
@ -38,7 +38,7 @@ run-plugin-%-with-libinsn.so:
|
|||
$(call run-test, $@, \
|
||||
$(QEMU) -monitor none -display none \
|
||||
-chardev file$(COMMA)path=$@.out$(COMMA)id=output \
|
||||
-plugin ../../plugin/libinsn.so$(COMMA)arg=inline \
|
||||
-plugin ../../plugin/libinsn.so$(COMMA)inline=on \
|
||||
-d plugin -D $*-with-libinsn.so.pout \
|
||||
$(QEMU_OPTS) $*, \
|
||||
"$* on $(TARGET_NAME)")
|
||||
|
|
|
@ -61,7 +61,7 @@ endif
|
|||
# non-inline runs will trigger the duplicate instruction heuristics in libinsn.so
|
||||
run-plugin-%-with-libinsn.so:
|
||||
$(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
|
||||
-plugin ../../plugin/libinsn.so$(COMMA)arg=inline \
|
||||
-plugin ../../plugin/libinsn.so$(COMMA)inline=on \
|
||||
-d plugin -D $*-with-libinsn.so.pout $*, \
|
||||
"$* (inline) on $(TARGET_NAME)")
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ run-plugin-%-with-libinsn.so:
|
|||
$(call run-test, $@, \
|
||||
$(QEMU) -monitor none -display none \
|
||||
-chardev file$(COMMA)path=$@.out$(COMMA)id=output \
|
||||
-plugin ../../plugin/libinsn.so$(COMMA)arg=inline \
|
||||
-plugin ../../plugin/libinsn.so$(COMMA)inline=on \
|
||||
-d plugin -D $*-with-libinsn.so.pout \
|
||||
$(QEMU_OPTS) $*, \
|
||||
"$* on $(TARGET_NAME)")
|
||||
|
|
Loading…
Reference in New Issue