From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH for-4.5] xen/arm: Correct the opcode for BUG_INSTR on arm32 Date: Thu, 4 Dec 2014 14:34:34 -0500 Message-ID: <20141204193434.GB6225@laptop.dumpdata.com> References: <1417721215-32639-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XwcAq-00004r-0o for xen-devel@lists.xenproject.org; Thu, 04 Dec 2014 19:34:48 +0000 Content-Disposition: inline In-Reply-To: <1417721215-32639-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, ian.campbell@citrix.com, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org On Thu, Dec 04, 2014 at 07:26:55PM +0000, Julien Grall wrote: > A 0 was forgotten when the arm32 BUG instruction opcode has been added in commit > 3e802c6ca1fb9a9549258c2855a57cad483f3cbd "xen/arm: Correctly support WARN_ON". > > This will result to use a valid instruction (mcreq 0, 3, r0, cr15, cr0, {7}), > and inhibit usage of BUG/WARN_ON and co. > > Signed-off-by: Julien Grall > > --- > > Not sure, why I dropped the 0 when I implemented the patch... > This is a bug fixed for Xen 4.5. This is only affected ARM32 where the > BUG opcode was malformed. > > With the malformed opcode, the ASSERT/BUG_ON is skipped and the > processor may execute another patch (because the compiler has optimized s/patch/path/ ? > due the unreachable in both macro). > > The code modified is only executed when Xen is in bad state. Release-Acked-by: Konrad Rzeszutek Wilk > --- > xen/include/asm-arm/arm32/bug.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/xen/include/asm-arm/arm32/bug.h b/xen/include/asm-arm/arm32/bug.h > index 155b420..3e66f35 100644 > --- a/xen/include/asm-arm/arm32/bug.h > +++ b/xen/include/asm-arm/arm32/bug.h > @@ -6,7 +6,7 @@ > /* ARMv7 provides a list of undefined opcode (see A8.8.247 DDI 0406C.b) > * Use one them encoding A1 to go in exception mode > */ > -#define BUG_OPCODE 0xe7f00f0 > +#define BUG_OPCODE 0xe7f000f0 > > #define BUG_INSTR ".word " __stringify(BUG_OPCODE) > > -- > 2.1.3 >