Adding upstream version 1:10.0.2+ds.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
bf2768bd0f
commit
ea34ddeea6
37998 changed files with 9510514 additions and 0 deletions
91
scripts/tracetool/format/h.py
Normal file
91
scripts/tracetool/format/h.py
Normal file
|
@ -0,0 +1,91 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
trace/generated-tracers.h
|
||||
"""
|
||||
|
||||
__author__ = "Lluís Vilanova <vilanova@ac.upc.edu>"
|
||||
__copyright__ = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>"
|
||||
__license__ = "GPL version 2 or (at your option) any later version"
|
||||
|
||||
__maintainer__ = "Stefan Hajnoczi"
|
||||
__email__ = "stefanha@redhat.com"
|
||||
|
||||
|
||||
from tracetool import out
|
||||
|
||||
|
||||
def generate(events, backend, group):
|
||||
header = "trace/control.h"
|
||||
|
||||
out('/* This file is autogenerated by tracetool, do not edit. */',
|
||||
'',
|
||||
'#ifndef TRACE_%s_GENERATED_TRACERS_H' % group.upper(),
|
||||
'#define TRACE_%s_GENERATED_TRACERS_H' % group.upper(),
|
||||
'',
|
||||
'#include "%s"' % header,
|
||||
'')
|
||||
|
||||
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, group)
|
||||
|
||||
for e in events:
|
||||
# tracer-specific dstate
|
||||
out('',
|
||||
'#define %(api)s() ( \\',
|
||||
api=e.api(e.QEMU_BACKEND_DSTATE))
|
||||
|
||||
if "disable" not in e.properties:
|
||||
backend.generate_backend_dstate(e, group)
|
||||
|
||||
out(' false)')
|
||||
|
||||
# tracer without checks
|
||||
out('',
|
||||
'static inline void %(api)s(%(args)s)',
|
||||
'{',
|
||||
api=e.api(e.QEMU_TRACE_NOCHECK),
|
||||
args=e.args)
|
||||
|
||||
if "disable" not in e.properties:
|
||||
backend.generate(e, group)
|
||||
|
||||
out('}')
|
||||
|
||||
cond = "true"
|
||||
|
||||
out('',
|
||||
'static inline void %(api)s(%(args)s)',
|
||||
'{',
|
||||
' if (%(cond)s) {',
|
||||
' %(api_nocheck)s(%(names)s);',
|
||||
' }',
|
||||
'}',
|
||||
api=e.api(),
|
||||
api_nocheck=e.api(e.QEMU_TRACE_NOCHECK),
|
||||
args=e.args,
|
||||
names=", ".join(e.args.names()),
|
||||
cond=cond)
|
||||
|
||||
backend.generate_end(events, group)
|
||||
|
||||
out('#endif /* TRACE_%s_GENERATED_TRACERS_H */' % group.upper())
|
Loading…
Add table
Add a link
Reference in a new issue