aboutsummaryrefslogtreecommitdiff
path: root/scripts/tracetool/format/events_c.py
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2016-10-04 14:35:49 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2016-10-12 09:35:54 +0200
commitef4c9fc8542e06b1d567172c04b0c0377c7ab0c5 (patch)
treeb10d94d545215e19252f78ed332d948fd56ad58e /scripts/tracetool/format/events_c.py
parent79218be42b835cbc7bd1b0fbd07d115add6e7605 (diff)
trace: remove the TraceEventID and TraceEventVCPUID enums
The TraceEventID and TraceEventVCPUID enums constants are no longer actually used for anything critical. The TRACE_EVENT_COUNT limit is used to determine the size of the TraceEvents array, and can be removed if we just NULL terminate the array instead. The TRACE_VCPU_EVENT_COUNT limit is used as a magic value for marking non-vCPU events, and also for declaring the size of the trace dstate mask in the CPUState struct. The former usage can be replaced by a dedicated constant TRACE_EVENT_VCPU_NONE, defined as (uint32_t)-1. For the latter usage, we can simply define a constant for the number of VCPUs, avoiding the need for the full enum. The only other usages of the enum values can be replaced by accesing the id/vcpu_id fields via the named TraceEvent structs. Reviewed-by: LluĂ­s Vilanova <vilanova@ac.upc.edu> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 1475588159-30598-11-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/tracetool/format/events_c.py')
-rw-r--r--scripts/tracetool/format/events_c.py16
1 files changed, 11 insertions, 5 deletions
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,',
+ '};',
'')