From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:43107) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNPc5-0007Ey-Nm for qemu-devel@nongnu.org; Mon, 07 Nov 2011 08:51:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RNPc4-0006md-F0 for qemu-devel@nongnu.org; Mon, 07 Nov 2011 08:51:49 -0500 Received: from mel.act-europe.fr ([194.98.77.210]:53887) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNPc4-0006mT-3v for qemu-devel@nongnu.org; Mon, 07 Nov 2011 08:51:48 -0500 Message-ID: <4EB7E268.5090000@adacore.com> Date: Mon, 07 Nov 2011 14:51:36 +0100 From: Fabien Chouteau MIME-Version: 1.0 References: <4639B135-B96A-43A0-B4FA-6DDCBE3FBA92@suse.de> <4EB1805F.6030701@adacore.com> <4EB26060.4060003@adacore.com> <20111104083652.GA5048@stefanha-thinkpad.localdomain> <87ipmzbub8.fsf@ginnungagap.bsc.es> <4EB7B00B.5000000@adacore.com> <874nygf8x3.fsf@ginnungagap.bsc.es> In-Reply-To: <874nygf8x3.fsf@ginnungagap.bsc.es> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] GSoC mentor summit QEMU users session List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi , Alexander Graf , "qemu-devel@nongnu.org Developers" , =?UTF-8?B?TGx1w61zIFZpbGFub3Zh?= On 07/11/2011 12:50, Llu=C3=ADs Vilanova wrote: > Fabien Chouteau writes: >=20 >> On 04/11/2011 19:45, Llu=C3=ADs Vilanova wrote: >>> I've only had a brief look into the changes, but I think the mechanis= m I >>> implemented has a cleaner fit into QEMU, thanks to previous feedback = from this >>> list. >=20 >> I don't know about your implementation, can you give more information? >> What type of analysis is supported (object, statement, decision, MC/DC= )? >> Which language? And maybe you can post a link to your repository. >=20 > I'll be posting the patches once QEMU opens up for new commits other th= an > release stabilization. If this is too far away in time, please tell me. >=20 >=20 >>> It explicitly separates the tracing mechanism (in QEMU itself) from t= he specific >>> trace analysis (which resides in a separate library specified by the = user at >>> compile time, where most of couverture would go). >=20 >> As I understand everything is compiled within Qemu, right? >=20 >> GNATcoverage seems even more separate. We use Qemu to generate an >> execution trace file and the coverage analysis tool is a totally >> separate program. You can add support for another language or implemen= t >> your own coverage tool without recompiling (redistribute) Qemu. >=20 > The process is basically: >=20 > * Add trace events that can work during TCG code generation (e.g., star= t TB, > start instruction fetch, memory access, etc.) >=20 > * Let the user select which trace events to instrument, including both = "regular" > trace events and TCG trace events (thus you instrument at both execut= ion and > translation time). >=20 > * The user provides her own implementation of the instrumented trace ev= ents. >=20 > As you can see, this system only gives you the hooks were code can be > inserted. Whether your hooks implement everything inside QEMU or just w= rite a > trace file, that is up to you. >=20 Interesting, what kind of analysis do you plan to perform with this? > [...] >>> >>> On the other hand, I have a complementary set of events, so we can de= finitely >>> join the efforts on that side (e.g., I haven't yet went into the trou= ble of >>> adding the begin/end TB or branch events). >=20 >> I don't know what do you mean by events, but we sure can join efforts = on >> coverage with Qemu. >=20 > Well, my target is not code coverage, but generating events that can be= used for > architecture simulation. In any case, there will surely be trace events= that > we're both interested in (e.g., TB start and branch). >=20 OK I thought you were talking about coverage. I'm not sure if and how we can implement coverage using your events but for the moment both features can cohabit. --=20 Fabien Chouteau