[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC][PATCH 00/10] trace-tcg: Allow tracing guest events in
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [RFC][PATCH 00/10] trace-tcg: Allow tracing guest events in TCG-generated code |
Date: |
Thu, 08 Dec 2011 23:47:51 +0100 |
User-agent: |
StGit/0.15 |
Adds the basic ability to specify which events in the "trace-events" may be used
to trace guest activity in the TCG code.
Such events generate an extra set of tracing functions that can be called during
TCG code generation and will automatically redirect a call to the appropriate
backend-dependant tracing functions when the guest code is executed.
The extra routines and files generated by tracetool are:
* trace-tcg-helper.h
Included on all "${target}/helper.h" headers.
Declares a 'trace_${name}_proxy' TCG helper using the 'DEF_HELPER_*' macros
for each TCG-aware event.
Defines a 'gen_helper_trace_${name}' that ends up calling
'gen_helper_trace_${name}_proxy'.
In order to provide a more streamlined interface, this routine can take a mix
of tracing-supported types and TCG types. In order to do this, it
automatically casts the arguments and allocates them into the appropriate TCG
types, calls 'gen_helper_trace_${name}_proxy' and frees the temporary TCG
values it has allocated.
* trace-tcg-helper.c
Defines a 'trace_${name}_proxy' TCG helper for each TCG-aware event. This
helper will immediately call 'trace_${name}' with all the necessary argument
type casts to match the signature of the callee.
NOTE: This patch series has been stripped out of all trace instrumentation
features, and is thus applicable on top of QEMU 1.0
Signed-off-by: Lluís Vilanova <address@hidden>
---
Lluís Vilanova (10):
trace: [doc] Document event properties on a separate section
trace-tcg: Add documentation
Trivial changes to eliminate auto-generated files
[m68k,s390,xtensa] Move helpers.h to helper.h
trace: [tracetool] Common functions to manage event arguments
trace: [tracetool] Add 'get_api_name' to construct the name of tracing
routines
trace-tcg: [tracetool] Allow TCG types in trace event declarations
trace-tcg: [tracetool] Declare TCG tracing helper routines
trace-tcg: [tracetool] Define TCG tracing helper routines
trace-tcg: [all] Include TCG-tracing helpers
.gitignore | 2
Makefile | 11 +
Makefile.objs | 17 ++
Makefile.target | 2
def-helper.h | 9 +
docs/tracing.txt | 62 +++++-
scripts/simpletrace.py | 2
scripts/tracetool | 449 +++++++++++++++++++++++++++++++++++++++++---
target-alpha/helper.h | 2
target-arm/helper.h | 2
target-cris/helper.h | 2
target-i386/helper.h | 2
target-lm32/helper.h | 2
target-m68k/helper.c | 2
target-m68k/helper.h | 56 +++++
target-m68k/helpers.h | 54 -----
target-m68k/op_helper.c | 2
target-m68k/translate.c | 6 -
target-microblaze/helper.h | 2
target-mips/helper.h | 2
target-ppc/helper.h | 2
target-s390x/helper.h | 154 +++++++++++++++
target-s390x/helpers.h | 152 ---------------
target-s390x/op_helper.c | 2
target-s390x/translate.c | 4
target-sh4/helper.h | 2
target-sparc/helper.h | 2
target-unicore32/helper.h | 2
target-xtensa/helper.h | 34 +++
target-xtensa/helpers.h | 32 ---
target-xtensa/op_helper.c | 2
target-xtensa/translate.c | 6 -
xtensa-semi.c | 2
33 files changed, 796 insertions(+), 288 deletions(-)
create mode 100644 target-m68k/helper.h
delete mode 100644 target-m68k/helpers.h
create mode 100644 target-s390x/helper.h
delete mode 100644 target-s390x/helpers.h
create mode 100644 target-xtensa/helper.h
delete mode 100644 target-xtensa/helpers.h
- [Qemu-devel] [RFC][PATCH 00/10] trace-tcg: Allow tracing guest events in TCG-generated code,
Lluís Vilanova <=
- [Qemu-devel] [PATCH 01/10] trace: [doc] Document event properties on a separate section, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 02/10] trace-tcg: Add documentation, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 03/10] Trivial changes to eliminate auto-generated files, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 04/10] [m68k, s390, xtensa] Move helpers.h to helper.h, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 05/10] trace: [tracetool] Common functions to manage event arguments, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 06/10] trace: [tracetool] Add 'get_api_name' to construct the name of tracing routines, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 07/10] trace-tcg: [tracetool] Allow TCG types in trace event declarations, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 08/10] trace-tcg: [tracetool] Declare TCG tracing helper routines, Lluís Vilanova, 2011/12/08
- [Qemu-devel] [PATCH 09/10] trace-tcg: [tracetool] Define TCG tracing helper routines, Lluís Vilanova, 2011/12/08