qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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
>

  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).