trace: remove global 'uint16 dstate[]' array
[qemu.git] / scripts / tracetool / format / events_c.py
blobef873fa137ca610638b7cf7d3edd4b99d3223c48
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
4 """
5 trace/generated-events.c
6 """
8 __author__ = "Lluís Vilanova <vilanova@ac.upc.edu>"
9 __copyright__ = "Copyright 2012-2016, Lluís Vilanova <vilanova@ac.upc.edu>"
10 __license__ = "GPL version 2 or (at your option) any later version"
12 __maintainer__ = "Stefan Hajnoczi"
13 __email__ = "stefanha@linux.vnet.ibm.com"
16 from tracetool import out
19 def generate(events, backend):
20 out('/* This file is autogenerated by tracetool, do not edit. */',
21 '',
22 '#include "qemu/osdep.h"',
23 '#include "trace.h"',
24 '#include "trace/generated-events.h"',
25 '#include "trace/control.h"',
26 '')
28 for e in events:
29 out('uint16_t %s;' % e.api(e.QEMU_DSTATE))
31 out('TraceEvent trace_events[TRACE_EVENT_COUNT] = {')
33 for e in events:
34 if "vcpu" in e.properties:
35 vcpu_id = "TRACE_VCPU_" + e.name.upper()
36 else:
37 vcpu_id = "TRACE_VCPU_EVENT_COUNT"
38 out(' { .id = %(id)s, .vcpu_id = %(vcpu_id)s,'
39 ' .name = \"%(name)s\",'
40 ' .sstate = %(sstate)s,',
41 ' .dstate = &%(dstate)s, }, ',
42 id = "TRACE_" + e.name.upper(),
43 vcpu_id = vcpu_id,
44 name = e.name,
45 sstate = "TRACE_%s_ENABLED" % e.name.upper(),
46 dstate = e.api(e.QEMU_DSTATE))
48 out('};',
49 '')