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