From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35289) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJfah-0006Wp-Hy for qemu-devel@nongnu.org; Thu, 14 Jan 2016 05:57:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJfad-00009D-CX for qemu-devel@nongnu.org; Thu, 14 Jan 2016 05:57:19 -0500 Received: from mail.uni-paderborn.de ([131.234.142.9]:50226) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJfac-000099-W0 for qemu-devel@nongnu.org; Thu, 14 Jan 2016 05:57:15 -0500 Received: from wormulon.uni-paderborn.de ([131.234.189.22] helo=localhost.localdomain) by mail.uni-paderborn.de with esmtp (Exim 4.84 nylar) id 1aJfac-0002o1-N0 for qemu-devel@nongnu.org; Thu, 14 Jan 2016 11:57:14 +0100 Received: from mail.uni-paderborn.de by wormulon with queue id 1009397-5 for qemu-devel@nongnu.org; Thu, 14 Jan 2016 10:57:12 GMT References: <1452768923-13787-1-git-send-email-peer.adelt@c-lab.de> From: Peer Adelt Message-ID: <56977F07.6080901@c-lab.de> Date: Thu, 14 Jan 2016 11:57:11 +0100 MIME-Version: 1.0 In-Reply-To: <1452768923-13787-1-git-send-email-peer.adelt@c-lab.de> Content-Type: multipart/mixed; boundary="------------060105050807080600020501" Subject: Re: [Qemu-devel] [RFC PATCH 0/3] (Resend) TranslationBlock annotation mechanism List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kbastian@mail.upb.de This is a multi-part message in MIME format. --------------060105050807080600020501 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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 " 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 > See attachment --------------060105050807080600020501 Content-Type: application/x-bzip; name="annotation-example-project.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="annotation-example-project.tar.bz2" QlpoOTFBWSZTWYJi5iEAHJH////////////////////////t7+f/Xz/++97919//v2ff4Bpg +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 --------------060105050807080600020501--