diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2016-10-04 14:35:49 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2016-10-12 09:35:54 +0200 |
commit | ef4c9fc8542e06b1d567172c04b0c0377c7ab0c5 (patch) | |
tree | b10d94d545215e19252f78ed332d948fd56ad58e /scripts/tracetool/format/events_c.py | |
parent | 79218be42b835cbc7bd1b0fbd07d115add6e7605 (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.py | 16 |
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,', + '};', '') |