From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47966) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWLKf-0008S1-4j for qemu-devel@nongnu.org; Thu, 18 Feb 2016 04:57:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWLKZ-000746-5D for qemu-devel@nongnu.org; Thu, 18 Feb 2016 04:57:09 -0500 Date: Thu, 18 Feb 2016 10:56:54 +0100 From: "Edgar E. Iglesias" Message-ID: <20160218095654.GD4403@toto> References: <1455287642-28166-1-git-send-email-edgar.iglesias@gmail.com> <1455287642-28166-9-git-send-email-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v1 8/9] target-arm: A64: Create Instruction Syndromes for Data Aborts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Edgar Iglesias , QEMU Developers , qemu-arm , Sergey Fedorov , Alex =?iso-8859-1?Q?Benn=E9e?= , Richard Henderson On Tue, Feb 16, 2016 at 07:13:32PM +0000, Peter Maydell wrote: > On 12 February 2016 at 14:34, Edgar E. Iglesias > wrote: > > From: "Edgar E. Iglesias" > > > > Add support for generating the instruction syndrome for Data Aborts. > > These syndromes are used by hypervisors for example to trap and emulate > > memory accesses. > > > > We save the decoded data out-of-band with the TBs at translation time. > > When exceptions hit, the extra data attached to the TB is used to > > recreate the state needed to encode instruction syndromes. > > This avoids the need to emit moves with every load/store. > > I think this patch also would be simpler if the encoded info > put in with the TBs was just the syndrome register, rather > than some other encoding. My first try was to only pass the bits needed for the iss (i.e not the full data abort syndrome). We don't have all the info needed at translation time to create the full syndrome (e.g stage2 trap? stage2 trap while stage1 PTW, etc). But we could maybe create as much of the data abort syndrome as possible at translation time and then have the exception handling code add the missing bits. We can then pass the preliminary syndrome from translation time to exception time in the std syndrome format. I can have a look and see what I can do if that makes more sense. Thanks, Edgar