From 1dad2ce97345f3424c4990cb232b40a35d5e936b Mon Sep 17 00:00:00 2001 From: Lluís Vilanova Date: Sun, 23 Feb 2014 20:37:40 +0100 Subject: trace: [tracetool] Minimize the amount of per-backend code Backends now only contain the essential backend-specific code, and most of the work is moved to frontend code. Signed-off-by: Lluís Vilanova Signed-off-by: Stefan Hajnoczi --- scripts/tracetool/backend/ust.py | 64 +++++----------------------------------- 1 file changed, 8 insertions(+), 56 deletions(-) (limited to 'scripts/tracetool/backend/ust.py') diff --git a/scripts/tracetool/backend/ust.py b/scripts/tracetool/backend/ust.py index 2fca4d2c81..2f8f44abde 100644 --- a/scripts/tracetool/backend/ust.py +++ b/scripts/tracetool/backend/ust.py @@ -18,66 +18,18 @@ from tracetool import out PUBLIC = True -def c(events): - pass - -def h(events): +def generate_h_begin(events): out('#include ', '#include "trace/generated-ust-provider.h"', '') - for e in events: - argnames = ", ".join(e.args.names()) - if len(e.args) > 0: - argnames = ", " + argnames - - out('static inline void %(api)s(%(args)s)', - '{', - ' tracepoint(qemu, %(name)s%(tp_args)s);', - '}', - '', - api = e.api() - name = e.name, - args = e.args, - tp_args = argnames, - ) - -def ust_events_c(events): - pass - -def ust_events_h(events): - for e in events: - if len(e.args) > 0: - out('TRACEPOINT_EVENT(', - ' qemu,', - ' %(name)s,', - ' TP_ARGS(%(args)s),', - ' TP_FIELDS(', - name = e.name, - args = ", ".join(", ".join(i) for i in e.args), - ) - for t,n in e.args: - if ('int' in t) or ('long' in t) or ('unsigned' in t) or ('size_t' in t): - out(' ctf_integer(' + t + ', ' + n + ', ' + n + ')') - elif ('double' in t) or ('float' in t): - out(' ctf_float(' + t + ', ' + n + ', ' + n + ')') - elif ('char *' in t) or ('char*' in t): - out(' ctf_string(' + n + ', ' + n + ')') - elif ('void *' in t) or ('void*' in t): - out(' ctf_integer_hex(unsigned long, ' + n + ', ' + n + ')') - out(' )', - ')', - '') +def generate_h(event): + argnames = ", ".join(event.args.names()) + if len(event.args) > 0: + argnames = ", " + argnames - else: - out('TRACEPOINT_EVENT(', - ' qemu,', - ' %(name)s,', - ' TP_ARGS(void),', - ' TP_FIELDS()', - ')', - '', - name = e.name, - ) + out(' tracepoint(qemu, %(name)s%(tp_args)s);', + name=event.name, + tp_args=argnames) -- cgit v1.2.3-55-g7522