public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 09/10] arm64/BUG: Use BRK instruction for generic BUG traps
Date: Mon, 13 Jul 2015 17:56:39 +0100	[thread overview]
Message-ID: <20150713165638.GD22840@leverpostej> (raw)
In-Reply-To: <20150713165151.GC10670@e103592.cambridge.arm.com>

On Mon, Jul 13, 2015 at 05:51:51PM +0100, Dave P Martin wrote:
> On Mon, Jul 13, 2015 at 05:43:15PM +0100, Mark Rutland wrote:
> > Hi,
> > 
> > On Mon, Jul 13, 2015 at 02:25:56PM +0100, Dave P Martin wrote:
> > > Currently, the minimal default BUG() implementation from asm-
> > > generic is used for arm64.
> > > 
> > > This patch uses the BRK software breakpoint instruction to generate
> > > a trap instead, similarly to most other arches, with the generic
> > > BUG code generating the dmesg boilerplate.
> 
> [...]
> 
> > FWIW I've given this a spin and it seems to work, so:
> > 
> > Tested-by: Mark Rutland <mark.rutland@arm.com>
> 
> Thanks for testing.
> 
> > I have one concern with this below.
> > 
> > > +#ifndef _ARCH_ARM64_ASM_BUG_H
> > > +#define _ARCH_ARM64_ASM_BUG_H
> > > +
> > > +#include <asm/debug-monitors.h>
> > > +
> > > +#ifdef CONFIG_GENERIC_BUG
> > > +#define HAVE_ARCH_BUG
> > > +
> > > +#ifdef CONFIG_DEBUG_BUGVERBOSE
> > > +#define _BUGVERBOSE_LOCATION(file, line) __BUGVERBOSE_LOCATION(file, line)
> > > +#define __BUGVERBOSE_LOCATION(file, line)				\
> > > +		".pushsection .rodata.str,\"aMS\", at progbits,1\n"	\
> > > +	"2:	.string \"" file "\"\n\t"				\
> > > +		".popsection\n\t"					\
> > > +									\
> > > +		".long 2b - 0b\n\t"					\
> > > +		".short " #line "\n\t"
> > > +#else
> > > +#define _BUGVERBOSE_LOCATION(file, line)
> > > +#endif
> > 
> > Given the reliance on the labels in the caller, I think it might make
> 
> Not sure what you mean here, can you elaborate?

We're relying on label "0:" in the caller/user of the macro when we emit
".long 2b - 0b".

I think it would be clearer if folded into the caller (even with the
inline ifdef this necessitates).

Though I could be missing something here that renders that impossible.

Thanks,
Mark.

  reply	other threads:[~2015-07-13 16:56 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-13 13:25 [PATCH v2 00/10] arm64: Use BRK instruction for generic BUG traps Dave Martin
2015-07-13 13:25 ` [PATCH v2 01/10] arm64/debug: Eliminate magic number for size of BRK instruction Dave Martin
2015-07-13 14:47   ` Mark Rutland
2015-07-13 13:25 ` [PATCH v2 02/10] arm64/debug: Mask off all reserved bits from generated ESR values Dave Martin
2015-07-13 14:14   ` Mark Rutland
2015-07-13 14:22     ` Dave Martin
2015-07-13 13:25 ` [PATCH v2 03/10] arm64: esr.h type fixes and cleanup Dave Martin
2015-07-14 15:54   ` Mark Rutland
2015-07-14 16:53     ` Dave Martin
2015-07-13 13:25 ` [PATCH v2 04/10] arm64/debug: Eliminate magic number from ESR template definition Dave Martin
2015-07-13 14:16   ` Mark Rutland
2015-07-13 13:25 ` [PATCH v2 05/10] arm64/debug: More consistent naming for the BRK ESR template macro Dave Martin
2015-07-13 14:19   ` Mark Rutland
2015-07-13 13:25 ` [PATCH v2 06/10] arm64/debug: Move BRK ESR template macro into <asm/esr.h> Dave Martin
2015-07-13 14:18   ` Mark Rutland
2015-07-13 13:25 ` [PATCH v2 07/10] arm64/debug: Simplify BRK insn opcode declarations Dave Martin
2015-07-13 14:38   ` Mark Rutland
2015-07-13 13:25 ` [PATCH v2 08/10] arm64/debug: Add missing #include Dave Martin
2015-07-13 14:34   ` Mark Rutland
2015-07-13 14:44     ` Dave Martin
2015-07-13 14:45       ` Mark Rutland
2015-07-13 13:25 ` [PATCH v2 09/10] arm64/BUG: Use BRK instruction for generic BUG traps Dave Martin
2015-07-13 16:43   ` Mark Rutland
2015-07-13 16:51     ` Dave Martin
2015-07-13 16:56       ` Mark Rutland [this message]
2015-07-13 17:05         ` Dave P Martin
2015-07-14 10:20         ` Dave Martin
2015-07-14 11:09           ` Mark Rutland
2015-07-14 11:34             ` Dave Martin
2015-07-14 15:51               ` Mark Rutland
2015-07-14 16:53                 ` Dave Martin
2015-07-14 16:11   ` Catalin Marinas
2015-07-14 16:55     ` Dave Martin
2015-07-13 13:25 ` [PATCH v2 10/10] arm64/BUG: Show explicit backtrace for WARNs Dave Martin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150713165638.GD22840@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox