From: Frederic Konrad <fred.konrad@greensocs.com>
To: Peer Adelt <peer.adelt@c-lab.de>, qemu-devel@nongnu.org
Cc: Mark Burton <mark.burton@greensocs.com>,
kbastian@mail.upb.de,
Guillaume Delbergue <guillaume.delbergue@greensocs.com>
Subject: Re: [Qemu-devel] [RFC PATCH 0/3] (Resend) TranslationBlock annotation mechanism
Date: Thu, 28 Jan 2016 16:26:15 +0100 [thread overview]
Message-ID: <56AA3317.4010200@greensocs.com> (raw)
In-Reply-To: <1452768923-13787-1-git-send-email-peer.adelt@c-lab.de>
Hi,
Is there a git tree with this series somewhere?
Looks nice.
Thanks,
Fred
On 14/01/2016 11:55, Peer Adelt wrote:
> Hey guys :)
>
> We have developed a generic concept to annotate TranslationBlocks during
> runtime. The initial idea was to use it for time annotation with data from
> static analysis tools. However, we have kept this approach as generic as
> possible to allow other kinds of annotation (e.g. power consumption, etc.).
>
> Our extension expects an XML file specifying the CFG of the program (similar
> to what you get from "gcc -ftree-dump-cfg"), where the edges are annotated
> with the data, that QEMU ought to accumulate during program execution. Each
> edge has a source and target context in which it is executed.
> For example: a for-loop that runs several times has its own context dependent
> edge for each iteration. We plan on making this more flexible by allowing
> to specify iterative context edges, i.e. from context n to context n+1.
>
> This approach is not limited to one target architecture but we only tested
> it for ARM and TriCore so far.
>
> To show the current state of this patch we have attached a very small example
> consisting of an ARM STM32F205 program and a timing annotation XML file (see
> reply to this letter). You can provide the XML file to QEMU with the
> "-annotation <XML-File>" option. During execution, the "value_sum" field of
> the CPUState data structure will accumulate a total value of 70 (cycles).
>
> Are there any comments? Is this in general a good idea to be added to upstream
> QEMU?
>
> All the best,
> Peer
>
> Peer Adelt (3):
> tb-annotation: Added annotation XML file parser
> tb-annotation: Add control flow graph mapper
> tb-annotation: Activate annotation extension
>
> Makefile | 5 +-
> Makefile.objs | 4 +
> Makefile.target | 4 +-
> configure | 13 ++
> include/exec/gen-icount.h | 18 +++
> include/qom/cpu.h | 9 ++
> include/tb-annotation/tb-annotation-parser.h | 29 +++++
> include/tb-annotation/tb-annotation.h | 64 ++++++++++
> qemu-options.hx | 8 ++
> tb-annotation/Makefile.objs | 1 +
> tb-annotation/tb-annotation-parser.c | 174 +++++++++++++++++++++++++++
> tcg-runtime.c | 99 +++++++++++++++
> tcg/tcg-runtime.h | 4 +
> vl.c | 25 ++++
> 14 files changed, 454 insertions(+), 3 deletions(-)
> create mode 100644 include/tb-annotation/tb-annotation-parser.h
> create mode 100644 include/tb-annotation/tb-annotation.h
> create mode 100644 tb-annotation/Makefile.objs
> create mode 100644 tb-annotation/tb-annotation-parser.c
>
next prev parent reply other threads:[~2016-01-28 15:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-14 10:55 [Qemu-devel] [RFC PATCH 0/3] (Resend) TranslationBlock annotation mechanism Peer Adelt
2016-01-14 10:55 ` [Qemu-devel] [RFC PATCH 1/3] tb-annotation: Added annotation XML file parser Peer Adelt
2016-01-14 10:55 ` [Qemu-devel] [RFC PATCH 2/3] tb-annotation: Add control flow graph mapper Peer Adelt
2016-01-14 10:55 ` [Qemu-devel] [RFC PATCH 3/3] tb-annotation: Activate annotation extension Peer Adelt
2016-01-14 10:57 ` [Qemu-devel] [RFC PATCH 0/3] (Resend) TranslationBlock annotation mechanism Peer Adelt
2016-01-25 13:54 ` Peter Maydell
2016-01-26 11:02 ` Bastian Koppelmann
2016-01-27 18:54 ` Lluís Vilanova
2016-01-28 13:40 ` Bastian Koppelmann
2016-01-28 18:29 ` Lluís Vilanova
2016-02-01 22:33 ` Lluís Vilanova
2016-01-28 15:26 ` Frederic Konrad [this message]
2016-02-04 14:59 ` Bastian Koppelmann
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=56AA3317.4010200@greensocs.com \
--to=fred.konrad@greensocs.com \
--cc=guillaume.delbergue@greensocs.com \
--cc=kbastian@mail.upb.de \
--cc=mark.burton@greensocs.com \
--cc=peer.adelt@c-lab.de \
--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).