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