xref: /openbmc/qemu/scripts/tracetool/backend/ust.py (revision 8e49197c)
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"
12f892b494SPhilippe 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):
22*a81df1b6SPaolo Bonzini    header = 'trace-ust-' + group + '.h'
239530570fSMohamad Gebai    out('#include <lttng/tracepoint.h>',
240ab8ed18SDaniel P. Berrange        '#include "%s"' % header,
253932ef3fSStefan Hajnoczi        '',
263932ef3fSStefan Hajnoczi        '/* tracepoint_enabled() was introduced in LTTng UST 2.7 */',
273932ef3fSStefan Hajnoczi        '#ifndef tracepoint_enabled',
283932ef3fSStefan Hajnoczi        '#define tracepoint_enabled(a, b) true',
293932ef3fSStefan Hajnoczi        '#endif',
309530570fSMohamad Gebai        '')
311dad2ce9SLluís Vilanova
321dad2ce9SLluís Vilanova
3380dd5c49SDaniel P. Berrangedef generate_h(event, group):
341dad2ce9SLluís Vilanova    argnames = ", ".join(event.args.names())
351dad2ce9SLluís Vilanova    if len(event.args) > 0:
369530570fSMohamad Gebai        argnames = ", " + argnames
379530570fSMohamad Gebai
381dad2ce9SLluís Vilanova    out('    tracepoint(qemu, %(name)s%(tp_args)s);',
391dad2ce9SLluís Vilanova        name=event.name,
401dad2ce9SLluís Vilanova        tp_args=argnames)
413932ef3fSStefan Hajnoczi
423932ef3fSStefan Hajnoczi
433932ef3fSStefan Hajnoczidef generate_h_backend_dstate(event, group):
443932ef3fSStefan Hajnoczi    out('    tracepoint_enabled(qemu, %(name)s) || \\',
453932ef3fSStefan Hajnoczi        name=event.name)
46