trace: [tracetool] Minimize the amount of per-backend code

Backends now only contain the essential backend-specific code, and most of the work is moved to frontend code.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Lluís Vilanova 2014-02-23 20:37:40 +01:00 committed by Stefan Hajnoczi
parent ef0bd3bba6
commit 1dad2ce973
19 changed files with 303 additions and 395 deletions

View file

@ -16,23 +16,29 @@ __email__ = "stefanha@linux.vnet.ibm.com"
from tracetool import out
def begin(events):
def generate(events, backend):
out('/* This file is autogenerated by tracetool, do not edit. */',
'',
'#ifndef TRACE__GENERATED_TRACERS_H',
'#define TRACE__GENERATED_TRACERS_H',
'',
'#include "qemu-common.h"')
'#include "qemu-common.h"',
'')
def end(events):
out('#endif /* TRACE__GENERATED_TRACERS_H */')
backend.generate_begin(events)
def nop(events):
for e in events:
out('',
'static inline void %(api)s(%(args)s)',
'{',
'}',
api = e.api(),
args = e.args,
)
api=e.api(),
args=e.args)
if "disable" not in e.properties:
backend.generate(e)
out('}')
backend.generate_end(events)
out('#endif /* TRACE__GENERATED_TRACERS_H */')