From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v5 for 4.5] xen/arm: Correctly support WARN_ON Date: Wed, 1 Oct 2014 13:18:20 +0100 Message-ID: <1412165900.4861.32.camel@citrix.com> References: <1412096285-4400-1-git-send-email-julien.grall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XZIrQ-0001kc-S6 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2014 12:18:24 +0000 In-Reply-To: <1412096285-4400-1-git-send-email-julien.grall@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall Cc: xen-devel@lists.xenproject.org, tim@xen.org, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org 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.