qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

ust.py (1121B)


      1 # -*- coding: utf-8 -*-
      2 
      3 """
      4 LTTng User Space Tracing backend.
      5 """
      6 
      7 __author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
      8 __copyright__  = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>"
      9 __license__    = "GPL version 2 or (at your option) any later version"
     10 
     11 __maintainer__ = "Stefan Hajnoczi"
     12 __email__      = "stefanha@redhat.com"
     13 
     14 
     15 from tracetool import out
     16 
     17 
     18 PUBLIC = True
     19 
     20 
     21 def generate_h_begin(events, group):
     22     header = 'trace-ust-' + group + '.h'
     23     out('#include <lttng/tracepoint.h>',
     24         '#include "%s"' % header,
     25         '',
     26         '/* tracepoint_enabled() was introduced in LTTng UST 2.7 */',
     27         '#ifndef tracepoint_enabled',
     28         '#define tracepoint_enabled(a, b) true',
     29         '#endif',
     30         '')
     31 
     32 
     33 def generate_h(event, group):
     34     argnames = ", ".join(event.args.names())
     35     if len(event.args) > 0:
     36         argnames = ", " + argnames
     37 
     38     out('    tracepoint(qemu, %(name)s%(tp_args)s);',
     39         name=event.name,
     40         tp_args=argnames)
     41 
     42 
     43 def generate_h_backend_dstate(event, group):
     44     out('    tracepoint_enabled(qemu, %(name)s) || \\',
     45         name=event.name)