All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"QEMU Developers" <qemu-devel@nongnu.org>
Subject: Re: [PULL 24/27] accel/tcg: Move breakpoint recognition outside translation
Date: Tue, 17 Aug 2021 12:07:12 -1000	[thread overview]
Message-ID: <c58a48eb-609c-5c3b-413c-973ec6e2a4b9@linaro.org> (raw)
In-Reply-To: <00aaafa2-74dd-3c19-1d47-93bc2fc0d83c@linaro.org>

On 8/17/21 5:39 AM, Richard Henderson wrote:
> Hmm, you're correct that we get this wrong.
> 
>> We probably didn't do these in the right priority
>> order before this series, though, and I dunno whether
>> we get the insn-abort vs swstep ordering right either...
> 
> And you're correct that we got it wrong beforehand.  The reorg did not alter the 
> recognized ordering of the exceptions.
> 
> I'm a bit surprised that insn-abort comes higher than breakpoint.

That would be because I mis-remembered the language.

Going back to the list,

   4 - software step
   6 - pc alignment fault
   7 - instruction abort (address translation!)
   8 - breakpoint exceptions
   9 - illegal execution state
  10 - software breakpoint (brk)
  11 - BTI exceptions
  12 - el2 traps
  13 - undefined exceptions

I thought "insn-abort" was #13, but it's really #7.

Well, behaviour is unchanged, since we check for address match before calling 
arm_ldl_code, before and after the reorg.

So: we need to suppress breakpoints (#8) for any higher-priority condition.  For #7, that 
might require some extra generic work.  I should have a look at the other targets that use 
architectural breakpoints to see what happens for a breakpoint on an unmapped page.

I'll work something out.


r~


  reply	other threads:[~2021-08-17 22:08 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21 19:59 [PULL 00/27] tcg patch queue for rc0 Richard Henderson
2021-07-21 19:59 ` [PULL 01/27] qemu/atomic: Use macros for CONFIG_ATOMIC64 Richard Henderson
2021-07-21 19:59 ` [PULL 02/27] qemu/atomic: Remove pre-C11 atomic fallbacks Richard Henderson
2021-07-21 19:59 ` [PULL 03/27] qemu/atomic: Add aligned_{int64,uint64}_t types Richard Henderson
2021-07-21 19:59 ` [PULL 04/27] tcg: Rename helper_atomic_*_mmu and provide for user-only Richard Henderson
2021-07-21 19:59 ` [PULL 05/27] accel/tcg: Standardize atomic helpers on softmmu api Richard Henderson
2021-07-21 19:59 ` [PULL 06/27] accel/tcg: Fold EXTRA_ARGS into atomic_template.h Richard Henderson
2021-07-21 19:59 ` [PULL 07/27] accel/tcg: Remove ATOMIC_MMU_DECLS Richard Henderson
2021-07-21 19:59 ` [PULL 08/27] accel/tcg: Expand ATOMIC_MMU_LOOKUP_* Richard Henderson
2021-07-21 19:59 ` [PULL 09/27] trace: Fold mem-internal.h into mem.h Richard Henderson
2021-07-21 19:59 ` [PULL 10/27] accel/tcg: Push trace info building into atomic_common.c.inc Richard Henderson
2021-07-21 19:59 ` [PULL 11/27] accel/tcg: Reduce CF_COUNT_MASK to match TCG_MAX_INSNS Richard Henderson
2021-07-21 19:59 ` [PULL 12/27] accel/tcg: Move curr_cflags into cpu-exec.c Richard Henderson
2021-07-21 19:59 ` [PULL 13/27] target/alpha: Drop goto_tb path in gen_call_pal Richard Henderson
2021-07-21 19:59 ` [PULL 14/27] accel/tcg: Add CF_NO_GOTO_TB and CF_NO_GOTO_PTR Richard Henderson
2021-07-21 19:59 ` [PULL 15/27] accel/tcg: Drop CF_NO_GOTO_PTR from -d nochain Richard Henderson
2021-07-21 19:59 ` [PULL 16/27] accel/tcg: Handle -singlestep in curr_cflags Richard Henderson
2021-07-21 19:59 ` [PULL 17/27] accel/tcg: Use CF_NO_GOTO_{TB, PTR} in cpu_exec_step_atomic Richard Henderson
2021-07-21 19:59 ` [PULL 18/27] hw/core: Introduce TCGCPUOps.debug_check_breakpoint Richard Henderson
2021-07-21 19:59 ` [PULL 19/27] target/arm: Implement debug_check_breakpoint Richard Henderson
2021-07-21 19:59 ` [PULL 20/27] target/i386: " Richard Henderson
2021-07-21 19:59 ` [PULL 21/27] hw/core: Introduce CPUClass.gdb_adjust_breakpoint Richard Henderson
2021-07-21 19:59 ` [PULL 22/27] target/avr: Implement gdb_adjust_breakpoint Richard Henderson
2021-07-21 19:59 ` [PULL 23/27] accel/tcg: Merge tb_find into its only caller Richard Henderson
2021-07-21 19:59 ` [PULL 24/27] accel/tcg: Move breakpoint recognition outside translation Richard Henderson
2021-08-17 13:33   ` Peter Maydell
2021-08-17 15:39     ` Richard Henderson
2021-08-17 22:07       ` Richard Henderson [this message]
2021-07-21 19:59 ` [PULL 25/27] accel/tcg: Remove TranslatorOps.breakpoint_check Richard Henderson
2021-07-21 19:59 ` [PULL 26/27] accel/tcg: Hoist tb_cflags to a local in translator_loop Richard Henderson
2021-07-21 19:59 ` [PULL 27/27] accel/tcg: Record singlestep_enabled in tb->cflags Richard Henderson
2021-07-22 15:10 ` [PULL 00/27] tcg patch queue for rc0 Peter Maydell

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=c58a48eb-609c-5c3b-413c-973ec6e2a4b9@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.