Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> --- scripts/tracetool.py | 35 ++++++++++------------------------- 1 files changed, 10 insertions(+), 25 deletions(-)
diff --git a/scripts/tracetool.py b/scripts/tracetool.py index cd1c29d..91e7620 100755 --- a/scripts/tracetool.py +++ b/scripts/tracetool.py @@ -38,26 +38,19 @@ Options: ''' sys.exit(1) -def trace_h_begin(): +def trace_h_begin(events): print '''#ifndef TRACE_H #define TRACE_H /* This file is autogenerated by tracetool, do not edit. */ #include "qemu-common.h"''' - return -def trace_h_end(): +def trace_h_end(events): print '#endif /* TRACE_H */' - return -def trace_c_begin(): +def trace_c_begin(events): print '/* This file is autogenerated by tracetool, do not edit. */' - return - -def trace_c_end(): - # nop, required for trace_gen - return def nop_h(events): print @@ -350,7 +343,7 @@ probe %(probeprefix)s.%(name)s = process("%(binary)s").mark("%(name)s") def dtrace_nop_stp(events): pass -def trace_stap_begin(): +def trace_stap_begin(events): global probeprefix if backend != "dtrace": print 'SystemTAP tapset generator not applicable to %s backend' % backend @@ -367,20 +360,13 @@ def trace_stap_begin(): if probeprefix == "": probeprefix = 'qemu.' + targettype + '.' + targetarch print '/* This file is autogenerated by tracetool, do not edit. */' - return -def trace_stap_end(): - return #nop, reqd for trace_gen - -def trace_d_begin(): +def trace_d_begin(events): if backend != 'dtrace': print 'DTrace probe generator not applicable to %s backend' % backend sys.exit(1) print '/* This file is autogenerated by tracetool, do not edit. */' -def trace_d_end(): - return #nop, reqd for trace_gen - # Registry of backends and their converter functions converters = { @@ -416,22 +402,19 @@ converters = { } # Trace file header and footer code generators -trace_gen = { +formats = { 'h': { 'begin': trace_h_begin, 'end': trace_h_end, }, 'c': { 'begin': trace_c_begin, - 'end': trace_c_end, }, 'd': { 'begin': trace_d_begin, - 'end': trace_d_end, }, 'stap': { 'begin': trace_stap_begin, - 'end': trace_stap_end, }, } @@ -564,10 +547,12 @@ def main(): events = read_events(sys.stdin) - trace_gen[output]['begin']() + if 'begin' in formats[output]: + formats[output]['begin'](events) converters[backend][output]([ e for e in events if 'disable' not in e.properties ]) converters['nop'][output]([ e for e in events if 'disable' in e.properties ]) - trace_gen[output]['end']() + if 'end' in formats[output]: + formats[output]['end'](events) if __name__ == "__main__": main()