xref: /openbmc/qemu/scripts/tracetool/backend/ust.py (revision f892b494)
1fbc54b94SLluís Vilanova# -*- coding: utf-8 -*-
2fbc54b94SLluís Vilanova
3fbc54b94SLluís Vilanova"""
4fbc54b94SLluís VilanovaLTTng User Space Tracing backend.
5fbc54b94SLluís Vilanova"""
6fbc54b94SLluís Vilanova
7fbc54b94SLluís Vilanova__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
81ff7b531SLluís Vilanova__copyright__  = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>"
9fbc54b94SLluís Vilanova__license__    = "GPL version 2 or (at your option) any later version"
10fbc54b94SLluís Vilanova
11fbc54b94SLluís Vilanova__maintainer__ = "Stefan Hajnoczi"
12*f892b494SPhilippe Mathieu-Daudé__email__      = "stefanha@redhat.com"
13fbc54b94SLluís Vilanova
14fbc54b94SLluís Vilanova
15fbc54b94SLluís Vilanovafrom tracetool import out
16fbc54b94SLluís Vilanova
17fbc54b94SLluís Vilanova
1893fba161SLluís VilanovaPUBLIC = True
1993fba161SLluís Vilanova
20fbc54b94SLluís Vilanova
2180dd5c49SDaniel P. Berrangedef generate_h_begin(events, group):
220ab8ed18SDaniel P. Berrange    if group == "root":
230ab8ed18SDaniel P. Berrange        header = "trace-ust-root.h"
240ab8ed18SDaniel P. Berrange    else:
250ab8ed18SDaniel P. Berrange        header = "trace-ust.h"
260ab8ed18SDaniel P. Berrange
279530570fSMohamad Gebai    out('#include <lttng/tracepoint.h>',
280ab8ed18SDaniel P. Berrange        '#include "%s"' % header,
293932ef3fSStefan Hajnoczi        '',
303932ef3fSStefan Hajnoczi        '/* tracepoint_enabled() was introduced in LTTng UST 2.7 */',
313932ef3fSStefan Hajnoczi        '#ifndef tracepoint_enabled',
323932ef3fSStefan Hajnoczi        '#define tracepoint_enabled(a, b) true',
333932ef3fSStefan Hajnoczi        '#endif',
349530570fSMohamad Gebai        '')
351dad2ce9SLluís Vilanova
361dad2ce9SLluís Vilanova
3780dd5c49SDaniel P. Berrangedef generate_h(event, group):
381dad2ce9SLluís Vilanova    argnames = ", ".join(event.args.names())
391dad2ce9SLluís Vilanova    if len(event.args) > 0:
409530570fSMohamad Gebai        argnames = ", " + argnames
419530570fSMohamad Gebai
421dad2ce9SLluís Vilanova    out('    tracepoint(qemu, %(name)s%(tp_args)s);',
431dad2ce9SLluís Vilanova        name=event.name,
441dad2ce9SLluís Vilanova        tp_args=argnames)
453932ef3fSStefan Hajnoczi
463932ef3fSStefan Hajnoczi
473932ef3fSStefan Hajnoczidef generate_h_backend_dstate(event, group):
483932ef3fSStefan Hajnoczi    out('    tracepoint_enabled(qemu, %(name)s) || \\',
493932ef3fSStefan Hajnoczi        name=event.name)
50