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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.