From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v5 for 4.5] xen/arm: Correctly support WARN_ON Date: Thu, 2 Oct 2014 12:56:49 -0400 Message-ID: <20141002165649.GG1715@laptop.dumpdata.com> References: <1412096285-4400-1-git-send-email-julien.grall@linaro.org> <1412165900.4861.32.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XZjgZ-0007px-2I for xen-devel@lists.xenproject.org; Thu, 02 Oct 2014 16:56:59 +0000 Content-Disposition: inline In-Reply-To: <1412165900.4861.32.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel@lists.xenproject.org, Julien Grall , tim@xen.org, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org On Wed, Oct 01, 2014 at 01:18:20PM +0100, Ian Campbell wrote: > On Tue, 2014-09-30 at 17:58 +0100, Julien Grall wrote: > > Currently the hypervisor will hang if it hits a WARN_ON. > > > > The implementation uses an undefined instruction, made ourself because ARM > > don't provide one, to implement BUG/ASSERT/WARN_ON, and sets up the > > different tables (one for each type) which contain useful information. > > > > This is based on the x86 implementation (include/asm-x86/bug.h). Unfortunately > > the structure can't be shared because many ARM{32,64} gcc versions doesn't > > correctly support %c. The support for executing a function in an exception handler > > is also keep unimplemented on ARM. Therefore, dump_execution_state is > > implemented as WARN() > > > > The current opcode used to go in exception mode may not be undefined on ARM64. > > Use the instruction "brk" to generate a software debug exception. > > > > Signed-off-by: Julien Grall > > Acked... > > > --- > > This is a bug fix for Xen 4.5. It make WARN_ON working correctly > > when it has been hit in the hypervisor. > > ...and applied on that basis. Excellent! > >