qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/17] [RFC] static instrumentation


From: Lluís
Subject: [Qemu-devel] [PATCH 00/17] [RFC] static instrumentation
Date: Fri, 22 Oct 2010 20:32:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]