summaryrefslogtreecommitdiff
path: root/scripts/tracetool
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/tracetool')
-rw-r--r--scripts/tracetool/backend/simple.py4
-rw-r--r--scripts/tracetool/format/events_c.py16
-rw-r--r--scripts/tracetool/format/events_h.py19
-rw-r--r--scripts/tracetool/format/h.py3
4 files changed, 16 insertions, 26 deletions
diff --git a/scripts/tracetool/backend/simple.py b/scripts/tracetool/backend/simple.py
index 1bccada63d..1114e3550b 100644
--- a/scripts/tracetool/backend/simple.py
+++ b/scripts/tracetool/backend/simple.py
@@ -80,11 +80,11 @@ def generate_c(event):
' return;',
' }',
'',
- ' if (trace_record_start(&rec, %(event_id)s, %(size_str)s)) {',
+ ' if (trace_record_start(&rec, %(event_obj)s.id, %(size_str)s)) {',
' return; /* Trace Buffer Full, Event Dropped ! */',
' }',
cond=cond,
- event_id=event_id,
+ event_obj=event.api(event.QEMU_EVENT),
size_str=sizestr)
if len(event.args) > 0:
diff --git a/scripts/tracetool/format/events_c.py b/scripts/tracetool/format/events_c.py
index a97054fd58..40ae39568e 100644
--- a/scripts/tracetool/format/events_c.py
+++ b/scripts/tracetool/format/events_c.py
@@ -28,11 +28,16 @@ def generate(events, backend):
for e in events:
out('uint16_t %s;' % e.api(e.QEMU_DSTATE))
+ next_id = 0
+ next_vcpu_id = 0
for e in events:
+ id = next_id
+ next_id += 1
if "vcpu" in e.properties:
- vcpu_id = "TRACE_VCPU_" + e.name.upper()
+ vcpu_id = next_vcpu_id
+ next_vcpu_id += 1
else:
- vcpu_id = "TRACE_VCPU_EVENT_COUNT"
+ vcpu_id = "TRACE_VCPU_EVENT_NONE"
out('TraceEvent %(event)s = {',
' .id = %(id)s,',
' .vcpu_id = %(vcpu_id)s,',
@@ -41,16 +46,17 @@ def generate(events, backend):
' .dstate = &%(dstate)s ',
'};',
event = e.api(e.QEMU_EVENT),
- id = "TRACE_" + e.name.upper(),
+ id = id,
vcpu_id = vcpu_id,
name = e.name,
sstate = "TRACE_%s_ENABLED" % e.name.upper(),
dstate = e.api(e.QEMU_DSTATE))
- out('TraceEvent *trace_events[TRACE_EVENT_COUNT] = {')
+ out('TraceEvent *trace_events[] = {')
for e in events:
out(' &%(event)s,', event = e.api(e.QEMU_EVENT))
- out('};',
+ out(' NULL,',
+ '};',
'')
diff --git a/scripts/tracetool/format/events_h.py b/scripts/tracetool/format/events_h.py
index 80a66c57d5..ca6d730519 100644
--- a/scripts/tracetool/format/events_h.py
+++ b/scripts/tracetool/format/events_h.py
@@ -29,27 +29,12 @@ def generate(events, backend):
out('extern TraceEvent %(event)s;',
event = e.api(e.QEMU_EVENT))
- # event identifiers
- out('typedef enum {')
-
- for e in events:
- out(' TRACE_%s,' % e.name.upper())
-
- out(' TRACE_EVENT_COUNT',
- '} TraceEventID;')
-
for e in events:
out('extern uint16_t %s;' % e.api(e.QEMU_DSTATE))
- # per-vCPU event identifiers
- out('typedef enum {')
-
- for e in events:
- if "vcpu" in e.properties:
- out(' TRACE_VCPU_%s,' % e.name.upper())
+ numvcpu = len([e for e in events if "vcpu" in e.properties])
- out(' TRACE_VCPU_EVENT_COUNT',
- '} TraceEventVCPUID;')
+ out("#define TRACE_VCPU_EVENT_COUNT %d" % numvcpu)
# static state
for e in events:
diff --git a/scripts/tracetool/format/h.py b/scripts/tracetool/format/h.py
index 3763e9aecb..64a6680fdc 100644
--- a/scripts/tracetool/format/h.py
+++ b/scripts/tracetool/format/h.py
@@ -32,8 +32,7 @@ def generate(events, backend):
if "vcpu" in e.properties:
trace_cpu = next(iter(e.args))[1]
cond = "trace_event_get_vcpu_state(%(cpu)s,"\
- " TRACE_%(id)s,"\
- " TRACE_VCPU_%(id)s)"\
+ " TRACE_%(id)s)"\
% dict(
cpu=trace_cpu,
id=e.name.upper())