From: xscript@gmx.net (Lluís)
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation
Date: Fri, 22 Oct 2010 20:32:02 +0200 [thread overview]
Message-ID: <cover.1287772322.git.vilanova@ac.upc.edu> (raw)
Here's a set of patches with the current state of static
instrumentation.
Hope that this organization will help understanding the point of
it. Patch 9 describes the taken approach for instrumenting during code
generation, which is the main point of this.
Code can also be reached at:
https://projects.gso.ac.upc.edu/projects/qemu-instrument
https://code.gso.ac.upc.edu/git/qemu-instrument
Lluís Vilanova (17):
backdoor: Declare host-side backdoor helpers
backdoor: [all] Include backdoor helper declarations
backdoor: Declare guest-side interface macros
backdoor: [i386] Decode backdoor instructions
backdoor: [i386] Declare guest-side interface macros
backdoor: Add a simple example
instrument: Handle config-time activation
instrument: Add initial instrumentation example
instrument: Dynamic per-CPU state of static instrumentation points
instrument: Code-generation macros
instrument: [all] Include instrumentation helper declarations
instrument: Add FETCH point
instrument: [i386] Call FETCH point
instrument: Add VMEM point
instrument: [all] Call VMEM point
instrument: Add PLVL point
instrument: [i386] Call PLVL point
.gitignore | 2 +
Makefile.target | 35 +++++-
backdoor/examples/print/README | 13 ++
backdoor/examples/print/guest/Makefile | 7 +
backdoor/examples/print/guest/test.c | 33 +++++
backdoor/examples/print/host/Makefile | 13 ++
backdoor/examples/print/host/printcb.c | 36 +++++
backdoor/guest.h | 60 ++++++++
backdoor/helper.h | 21 +++
configure | 19 +++
cpu-all.h | 74 ++++++----
cpu-defs.h | 24 +++
cpu-exec.c | 8 +-
cpus.c | 8 +
exec-all.h | 7 +-
exec.c | 50 +++++---
instrument/control.c | 74 ++++++++++
instrument/control.h | 44 ++++++
instrument/examples/dynprint/README | 16 ++
instrument/examples/dynprint/guest/Makefile | 7 +
instrument/examples/dynprint/guest/test.c | 62 ++++++++
instrument/examples/dynprint/host/Makefile | 14 ++
instrument/examples/dynprint/host/backdoor.c | 61 ++++++++
instrument/examples/dynprint/host/helpers.c | 86 ++++++++++++
.../dynprint/host/instrument-host-helpers.h | 22 +++
.../examples/dynprint/host/instrument-host.h | 81 +++++++++++
instrument/gen-vmem-wrappers.h | 88 ++++++++++++
instrument/generate.h | 128 +++++++++++++++++
instrument/host-stub.h | 81 +++++++++++
instrument/state.h | 61 ++++++++
instrument/types.h | 44 ++++++
linux-user/main.c | 12 ++
qemu-common.h | 4 +
softmmu_header.h | 15 ++
target-alpha/helper.h | 8 +
target-alpha/translate.c | 4 +
target-arm/helper.h | 8 +
target-arm/translate.c | 4 +
target-cris/helper.h | 8 +
target-cris/translate.c | 4 +
target-i386/cpu.h | 21 ++--
target-i386/helper.h | 8 +
target-i386/translate.c | 147 ++++++++++++++++++++
target-m68k/helper.h | 8 +
target-m68k/translate.c | 4 +
target-microblaze/helper.h | 8 +
target-microblaze/translate.c | 10 ++
target-mips/helper.h | 8 +
target-mips/translate.c | 4 +
target-ppc/helper.h | 8 +
target-ppc/translate.c | 4 +
target-s390x/translate.c | 4 +
target-sh4/helper.h | 8 +
target-sh4/translate.c | 4 +
target-sparc/helper.h | 8 +
target-sparc/translate.c | 4 +
56 files changed, 1543 insertions(+), 61 deletions(-)
create mode 100644 backdoor/examples/print/README
create mode 100644 backdoor/examples/print/guest/Makefile
create mode 100644 backdoor/examples/print/guest/test.c
create mode 100644 backdoor/examples/print/host/Makefile
create mode 100644 backdoor/examples/print/host/printcb.c
create mode 100644 backdoor/guest.h
create mode 100644 backdoor/helper.h
create mode 100644 instrument/control.c
create mode 100644 instrument/control.h
create mode 100644 instrument/examples/dynprint/README
create mode 100644 instrument/examples/dynprint/guest/Makefile
create mode 100644 instrument/examples/dynprint/guest/test.c
create mode 100644 instrument/examples/dynprint/host/Makefile
create mode 100644 instrument/examples/dynprint/host/backdoor.c
create mode 100644 instrument/examples/dynprint/host/helpers.c
create mode 100644 instrument/examples/dynprint/host/instrument-host-helpers.h
create mode 100644 instrument/examples/dynprint/host/instrument-host.h
create mode 100644 instrument/gen-vmem-wrappers.h
create mode 100644 instrument/generate.h
create mode 100644 instrument/host-stub.h
create mode 100644 instrument/state.h
create mode 100644 instrument/types.h
--
"And it's much the same thing with knowledge, for whenever you learn
something new, the whole world becomes that much richer."
-- The Princess of Pure Reason, as told by Norton Juster in The Phantom
Tollbooth
next reply other threads:[~2010-10-22 18:38 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-22 18:32 Lluís [this message]
2010-10-22 18:53 ` [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation Lluís
2010-10-18 17:24 ` [Qemu-devel] [PATCH 01/18] backdoor: Handle config-time activation Lluís
2010-10-18 17:40 ` [Qemu-devel] [PATCH 04/18] backdoor: Declare guest-side interface macros Lluís
2010-10-18 18:08 ` [Qemu-devel] [PATCH 06/18] backdoor: [i386] " Lluís
2010-10-18 18:27 ` [Qemu-devel] [PATCH 08/18] instrument: Handle config-time activation Lluís
2010-10-19 19:14 ` [Qemu-devel] [PATCH 05/18] backdoor: [i386] Decode backdoor instructions Lluís
2010-10-19 19:22 ` [Qemu-devel] [PATCH 02/18] backdoor: Declare host-side backdoor helpers Lluís
2010-10-19 19:33 ` [Qemu-devel] [PATCH 03/18] backdoor: [all] Include backdoor helper declarations Lluís
2010-10-19 20:05 ` [Qemu-devel] [PATCH 07/18] backdoor: Add a simple example Lluís
2010-10-19 21:11 ` [Qemu-devel] [PATCH 13/18] instrument: Add FETCH point Lluís
2010-10-19 21:12 ` [Qemu-devel] [PATCH 15/18] instrument: Add VMEM point Lluís
2010-10-19 21:36 ` [Qemu-devel] [PATCH 18/18] instrument: [i386] Call PLVL point Lluís
2010-10-19 21:36 ` [Qemu-devel] [PATCH 17/18] instrument: Add " Lluís
2010-10-19 21:37 ` [Qemu-devel] [PATCH 10/18] instrument: Dynamic per-CPU state of static instrumentation points Lluís
2010-10-19 21:40 ` [Qemu-devel] [PATCH 14/18] instrument: [i386] Call FETCH point Lluís
2010-10-21 14:36 ` [Qemu-devel] [PATCH 11/18] instrument: Code-generation macros Lluís
2010-10-21 17:42 ` [Qemu-devel] [PATCH 09/18] instrument: Add initial instrumentation example Lluís
2010-10-21 20:55 ` [Qemu-devel] [PATCH 12/18] instrument: [all] Include instrumentation helper declarations Lluís
2010-10-22 14:00 ` [Qemu-devel] [PATCH 16/18] instrument: [all] Call VMEM point Lluís
2010-10-23 12:40 ` [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation Blue Swirl
2010-10-25 10:54 ` backdoor [Was: Re: [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation] Lluís
2010-10-25 12:29 ` [Qemu-devel] Re: backdoor [Was: " Paolo Bonzini
2010-10-25 13:37 ` [Qemu-devel] Re: backdoor Lluís
2010-10-25 21:20 ` Anthony Liguori
2010-10-25 22:48 ` Lluís
2010-10-25 23:06 ` Anthony Liguori
2010-10-26 20:03 ` Lluís
2010-10-25 17:27 ` backdoor [Was: Re: [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation] Blue Swirl
2010-10-25 20:54 ` [Qemu-devel] Re: backdoor Lluís
2010-10-25 11:13 ` instrument [Was: Re: [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation] Lluís
2010-10-25 18:31 ` Blue Swirl
2010-10-25 21:48 ` [Qemu-devel] Re: instrument Lluís
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1287772322.git.vilanova@ac.upc.edu \
--to=xscript@gmx.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).