GENERATED_HEADERS += qmp-introspect.h
GENERATED_SOURCES += qmp-introspect.c
-GENERATED_HEADERS += trace/generated-events.h
-GENERATED_SOURCES += trace/generated-events.c
-
GENERATED_HEADERS += trace/generated-tracers.h
ifeq ($(findstring dtrace,$(TRACE_BACKENDS)),dtrace)
GENERATED_HEADERS += trace/generated-tracers-dtrace.h
#define TRACE_TCG_H
#include "trace/generated-tcg-tracers.h"
-#include "trace/generated-events.h"
#endif /* TRACE_TCG_H */
#define TRACE_H
#include "trace/generated-tracers.h"
-#include "trace/generated-events.h"
#endif /* TRACE_H */
def generate(events, backend):
- events = [e for e in events
- if "disable" not in e.properties]
+ active_events = [e for e in events
+ if "disable" not in e.properties]
out('/* This file is autogenerated by tracetool, do not edit. */',
+ '',
+ '#include "qemu/osdep.h"',
+ '#include "trace.h"',
'')
- backend.generate_begin(events)
- for event in events:
+
+ for e in events:
+ out('uint16_t %s;' % e.api(e.QEMU_DSTATE))
+
+ for e in events:
+ if "vcpu" in e.properties:
+ vcpu_id = 0
+ else:
+ vcpu_id = "TRACE_VCPU_EVENT_NONE"
+ out('TraceEvent %(event)s = {',
+ ' .id = 0,',
+ ' .vcpu_id = %(vcpu_id)s,',
+ ' .name = \"%(name)s\",',
+ ' .sstate = %(sstate)s,',
+ ' .dstate = &%(dstate)s ',
+ '};',
+ event = e.api(e.QEMU_EVENT),
+ vcpu_id = vcpu_id,
+ name = e.name,
+ sstate = "TRACE_%s_ENABLED" % e.name.upper(),
+ dstate = e.api(e.QEMU_DSTATE))
+
+ out('TraceEvent *trace_events[] = {')
+
+ for e in events:
+ out(' &%(event)s,', event = e.api(e.QEMU_EVENT))
+
+ out(' NULL,',
+ '};',
+ '')
+
+ out('static void trace_register_events(void)',
+ '{',
+ ' trace_event_register_group(trace_events);',
+ '}',
+ 'trace_init(trace_register_events)')
+
+ backend.generate_begin(active_events)
+ for event in active_events:
backend.generate(event)
- backend.generate_end(events)
+ backend.generate_end(active_events)
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-"""
-trace/generated-events.c
-"""
-
-__license__ = "GPL version 2 or (at your option) any later version"
-
-__maintainer__ = "Stefan Hajnoczi"
-
-
-from tracetool import out
-
-
-def generate(events, backend):
- out('/* This file is autogenerated by tracetool, do not edit. */',
- '',
- '#include "qemu/osdep.h"',
- '#include "trace.h"',
- '#include "trace/generated-events.h"',
- '#include "trace/control.h"',
- '')
-
- for e in events:
- out('uint16_t %s;' % e.api(e.QEMU_DSTATE))
-
- for e in events:
- if "vcpu" in e.properties:
- vcpu_id = 0
- else:
- vcpu_id = "TRACE_VCPU_EVENT_NONE"
- out('TraceEvent %(event)s = {',
- ' .id = 0,',
- ' .vcpu_id = %(vcpu_id)s,',
- ' .name = \"%(name)s\",',
- ' .sstate = %(sstate)s,',
- ' .dstate = &%(dstate)s ',
- '};',
- event = e.api(e.QEMU_EVENT),
- vcpu_id = vcpu_id,
- name = e.name,
- sstate = "TRACE_%s_ENABLED" % e.name.upper(),
- dstate = e.api(e.QEMU_DSTATE))
-
- out('TraceEvent *trace_events[] = {')
-
- for e in events:
- out(' &%(event)s,', event = e.api(e.QEMU_EVENT))
-
- out(' NULL,',
- '};',
- '')
-
- out('static void trace_register_events(void)',
- '{',
- ' trace_event_register_group(trace_events);',
- '}',
- 'trace_init(trace_register_events)')
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-"""
-trace/generated-events.h
-"""
-
-__license__ = "GPL version 2 or (at your option) any later version"
-
-__maintainer__ = "Stefan Hajnoczi"
-
-
-from tracetool import out
-
-
-def generate(events, backend):
- out('/* This file is autogenerated by tracetool, do not edit. */',
- '',
- '#ifndef TRACE__GENERATED_EVENTS_H',
- '#define TRACE__GENERATED_EVENTS_H',
- '',
- '#include "trace/event-internal.h"',
- )
-
- for e in events:
- out('extern TraceEvent %(event)s;',
- event = e.api(e.QEMU_EVENT))
-
- for e in events:
- out('extern uint16_t %s;' % e.api(e.QEMU_DSTATE))
-
- # static state
- for e in events:
- if 'disable' in e.properties:
- enabled = 0
- else:
- enabled = 1
- if "tcg-exec" in e.properties:
- # a single define for the two "sub-events"
- out('#define TRACE_%(name)s_ENABLED %(enabled)d',
- name=e.original.name.upper(),
- enabled=enabled)
- out('#define TRACE_%s_ENABLED %d' % (e.name.upper(), enabled))
-
- out('',
- '#endif /* TRACE__GENERATED_EVENTS_H */')
'#include "trace/control.h"',
'')
+ for e in events:
+ out('extern TraceEvent %(event)s;',
+ event = e.api(e.QEMU_EVENT))
+
+ for e in events:
+ out('extern uint16_t %s;' % e.api(e.QEMU_DSTATE))
+
+ # static state
+ for e in events:
+ if 'disable' in e.properties:
+ enabled = 0
+ else:
+ enabled = 1
+ if "tcg-exec" in e.properties:
+ # a single define for the two "sub-events"
+ out('#define TRACE_%(name)s_ENABLED %(enabled)d',
+ name=e.original.name.upper(),
+ enabled=enabled)
+ out('#define TRACE_%s_ENABLED %d' % (e.name.upper(), enabled))
+
backend.generate_begin(events)
for e in events:
--backends=$(TRACE_BACKENDS) \
< $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
-$(obj)/generated-events.h: $(obj)/generated-ust-provider.h
-$(obj)/generated-events.c: $(obj)/generated-ust.c
+$(obj)/generated-tracers.h: $(obj)/generated-ust-provider.h
+$(obj)/generated-tracers.c: $(obj)/generated-ust.c
endif
-######################################################################
-# Auto-generated event descriptions
-
-$(obj)/generated-events.h: $(obj)/generated-events.h-timestamp
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
-$(obj)/generated-events.h-timestamp: $(BUILD_DIR)/trace-events-all $(tracetool-y)
- $(call quiet-command,$(TRACETOOL) \
- --format=events-h \
- --backends=$(TRACE_BACKENDS) \
- < $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
-
-$(obj)/generated-events.c: $(obj)/generated-events.c-timestamp $(BUILD_DIR)/config-host.mak
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
-$(obj)/generated-events.c-timestamp: $(BUILD_DIR)/trace-events-all $(tracetool-y)
- $(call quiet-command,$(TRACETOOL) \
- --format=events-c \
- --backends=$(TRACE_BACKENDS) \
- < $< > $@,"GEN","$(patsubst %-timestamp,%,$@)")
-
-util-obj-y += generated-events.o
-
######################################################################
# Auto-generated tracing routines
######################################################################
# Backend code
-util-obj-$(CONFIG_TRACE_SIMPLE) += simple.o generated-tracers.o
+util-obj-y += generated-tracers.o
+util-obj-$(CONFIG_TRACE_SIMPLE) += simple.o
util-obj-$(CONFIG_TRACE_FTRACE) += ftrace.o
util-obj-$(CONFIG_TRACE_UST) += generated-ust.o
util-obj-y += control.o
#define TRACE__CONTROL_H
#include "qemu-common.h"
-#include "trace/generated-events.h"
+#include "event-internal.h"
typedef struct TraceEventIter {
size_t event;
#ifndef TRACE_SIMPLE_H
#define TRACE_SIMPLE_H
-
-#include "trace/generated-events.h"
-
-
void st_print_trace_file_status(FILE *stream, fprintf_function stream_printf);
void st_set_trace_file_enabled(bool enable);
void st_set_trace_file(const char *file);