summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorLluís Vilanova <vilanova@ac.upc.edu>2013-03-05 14:48:00 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2013-03-28 14:19:57 +0100
commitc6f18b9195b4251f32b6ac8e149b449354c1c93b (patch)
tree110caec6d19d8a9d51e3e416b22c16f2a8ea2eb7 /scripts
parent60481e210d1f5f9e97d4d5db82b9afb8d3df7acf (diff)
downloadqemu-c6f18b9195b4251f32b6ac8e149b449354c1c93b.tar.gz
trace: [stderr] Port to generic event information and new control interface
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/tracetool/backend/stderr.py27
1 files changed, 8 insertions, 19 deletions
diff --git a/scripts/tracetool/backend/stderr.py b/scripts/tracetool/backend/stderr.py
index a10fbb83f4..6f93dbd1ae 100644
--- a/scripts/tracetool/backend/stderr.py
+++ b/scripts/tracetool/backend/stderr.py
@@ -20,40 +20,29 @@ PUBLIC = True
def c(events):
- out('#include "trace.h"',
- '',
- 'TraceEvent trace_list[] = {')
-
- for e in events:
- out('{.tp_name = "%(name)s", .state=0},',
- name = e.name,
- )
-
- out('};')
+ pass
def h(events):
out('#include <stdio.h>',
- '#include "trace/stderr.h"',
+ '#include "trace/control.h"',
'',
- 'extern TraceEvent trace_list[];')
+ )
- for num, e in enumerate(events):
+ for e in events:
argnames = ", ".join(e.args.names())
if len(e.args) > 0:
argnames = ", " + argnames
out('static inline void trace_%(name)s(%(args)s)',
'{',
- ' if (trace_list[%(event_num)s].state != 0) {',
+ ' bool _state = trace_event_get_state(%(event_id)s);',
+ ' if (_state) {',
' fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);',
' }',
'}',
name = e.name,
args = e.args,
- event_num = num,
- fmt = e.fmt,
+ event_id = "TRACE_" + e.name.upper(),
+ fmt = e.fmt.rstrip("\n"),
argnames = argnames,
)
-
- out('',
- '#define NR_TRACE_EVENTS %d' % len(events))