[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 10/13] instrument: [softmmu] Add command line librar
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH 10/13] instrument: [softmmu] Add command line library loader |
Date: |
Mon, 24 Jul 2017 20:42:48 +0300 |
User-agent: |
StGit/0.17.1-dirty |
Signed-off-by: Lluís Vilanova <address@hidden>
---
qemu-options.hx | 17 +++++++++++++++++
vl.c | 11 +++++++++++
2 files changed, 28 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 9bd6bf0eee..aacd01cee7 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4064,6 +4064,23 @@ HXCOMM HX does not support conditional compilation of
text.
@findex -trace
@include qemu-option-trace.texi
ETEXI
+DEF("instr", HAS_ARG, QEMU_OPTION_instr,
+ "-instr [file=]<file>[,arg=<string>]\n"
+ " load an instrumentation library\n",
+ QEMU_ARCH_ALL)
+STEXI
address@hidden -instr address@hidden,address@hidden
address@hidden -instr
+
+Load a dynamic trace instrumentation library.
+
address@hidden @option
address@hidden address@hidden
+Load the given dynamic trace instrumentation library.
address@hidden address@hidden
+String argument passed as to the library's @code{qi_init} routine (can be
given multiple times).
address@hidden table
+ETEXI
HXCOMM Internal use
DEF("qtest", HAS_ARG, QEMU_OPTION_qtest, "", QEMU_ARCH_ALL)
diff --git a/vl.c b/vl.c
index fb6b2efafa..1a24b34d47 100644
--- a/vl.c
+++ b/vl.c
@@ -118,6 +118,7 @@ int main(int argc, char **argv)
#include "trace-root.h"
#include "trace/control.h"
+#include "instrument/cmdline.h"
#include "qemu/queue.h"
#include "sysemu/arch_init.h"
@@ -3031,6 +3032,9 @@ int main(int argc, char **argv, char **envp)
} BlockdevOptions_queue;
QSIMPLEQ_HEAD(, BlockdevOptions_queue) bdo_queue
= QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
+ char *instrument_path = NULL;
+ int instrument_argc = 0;
+ const char **instrument_argv = NULL;
module_call_init(MODULE_INIT_TRACE);
@@ -3058,6 +3062,7 @@ int main(int argc, char **argv, char **envp)
qemu_add_opts(&qemu_global_opts);
qemu_add_opts(&qemu_mon_opts);
qemu_add_opts(&qemu_trace_opts);
+ qemu_add_opts(&qemu_instr_opts);
qemu_add_opts(&qemu_option_rom_opts);
qemu_add_opts(&qemu_machine_opts);
qemu_add_opts(&qemu_accel_opts);
@@ -3999,6 +4004,10 @@ int main(int argc, char **argv, char **envp)
g_free(trace_file);
trace_file = trace_opt_parse(optarg);
break;
+ case QEMU_OPTION_instr:
+ instr_opt_parse(optarg, &instrument_path,
+ &instrument_argc, &instrument_argv);
+ break;
case QEMU_OPTION_readconfig:
{
int ret = qemu_read_config_file(optarg);
@@ -4185,6 +4194,8 @@ int main(int argc, char **argv, char **envp)
}
trace_init_file(trace_file);
+ instr_init(instrument_path, instrument_argc, instrument_argv);
+
/* Open the logfile at this point and set the log mask if necessary.
*/
if (log_file) {
- [Qemu-devel] [PATCH 00/13] instrument: Add basic event instrumentation, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 01/13] instrument: Add documentation, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 02/13] instrument: [none] Add null instrumentation mode, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 03/13] instrument: [dynamic] Add dynamic instrumentation mode, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 04/13] instrument: Allow adding the "instrument" property without modifying event files, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 05/13] instrument: [dynamic] Add default public per-event functions, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 06/13] instrument: Add event control interface, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 07/13] instrument: Add generic command line library loader, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 08/13] instrument: [linux-user] Add command line library loader, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 09/13] instrument: [bsd-user] Add command line library loader, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 10/13] instrument: [softmmu] Add command line library loader,
Lluís Vilanova <=
- [Qemu-devel] [PATCH 11/13] instrument: [qapi] Add library loader, Lluís Vilanova, 2017/07/24
[Qemu-devel] [PATCH 12/13] instrument: [hmp] Add library loader, Lluís Vilanova, 2017/07/24
[Qemu-devel] [PATCH 13/13] trace: Rename C++-specific names in event arguments, Lluís Vilanova, 2017/07/24
Re: [Qemu-devel] [PATCH 00/13] instrument: Add basic event instrumentation, Stefan Hajnoczi, 2017/07/25