From: "Emilio G. Cota" <cota@braap.org>
To: Richard Henderson <rth@twiddle.net>
Cc: qemu-devel@nongnu.org, vilanova@ac.upc.edu,
alex.bennee@linaro.org, crosthwaite.peter@gmail.com,
pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH v14 07/34] target/arm: Set is_jmp properly after single-stepping
Date: Fri, 21 Jul 2017 17:37:43 -0400 [thread overview]
Message-ID: <20170721213743.GE10809@flamenco> (raw)
In-Reply-To: <20170715094243.28371-8-rth@twiddle.net>
On Fri, Jul 14, 2017 at 23:42:16 -1000, Richard Henderson wrote:
> We have generated an exception, so use DISAS_NORETURN.
>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> target/arm/translate-a64.c | 1 +
> target/arm/translate.c | 4 +++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
> index 342ff7c..657684b 100644
> --- a/target/arm/translate-a64.c
> +++ b/target/arm/translate-a64.c
> @@ -11285,6 +11285,7 @@ void gen_intermediate_code_a64(CPUState *cs, TranslationBlock *tb)
> dc->is_jmp = DISAS_UPDATE;
> } else {
> gen_exception_internal_insn(dc, 0, EXCP_DEBUG);
> + dc->is_jmp = DISAS_NORETURN;
> /* The address covered by the breakpoint must be
> included in [tb->pc, tb->pc + tb->size) in order
> to for it to be properly cleared -- thus we
> diff --git a/target/arm/translate.c b/target/arm/translate.c
> index 2ae68ce..83e5491 100644
> --- a/target/arm/translate.c
> +++ b/target/arm/translate.c
> @@ -11942,6 +11942,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb)
> dc->is_jmp = DISAS_UPDATE;
> } else {
> gen_exception_internal_insn(dc, 0, EXCP_DEBUG);
> + dc->is_jmp = DISAS_NORETURN;
gen_exception_internal_insn already sets dc->is_jmp to DISAS_NORETURN,
as per patch 04/34:
@@ -304,7 +304,7 @@ static void gen_exception_internal_insn(DisasContext *s, int offset, int excp)
{
gen_a64_set_pc_im(s->pc - offset);
gen_exception_internal(excp);
- s->is_jmp = DISAS_EXC;
+ s->is_jmp = DISAS_NORETURN;
}
This applies to both arm and a64.
Why do we need to set is_jmp again, then?
E.
next prev parent reply other threads:[~2017-07-21 21:37 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-15 9:42 [Qemu-devel] [PATCH v14 00/34] Generic translation framework Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 01/34] Pass generic CPUState to gen_intermediate_code() Richard Henderson
2017-07-17 22:56 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 02/34] tcg: Add generic DISAS_NORETURN Richard Henderson
2017-07-21 21:25 ` Emilio G. Cota
2017-07-21 22:32 ` Lluís Vilanova
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 03/34] target/i386: Use generic DISAS_* enumerators Richard Henderson
2017-07-21 21:25 ` Emilio G. Cota
2017-07-21 22:35 ` Lluís Vilanova
2017-07-22 10:31 ` Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 04/34] target/arm: Use DISAS_NORETURN Richard Henderson
2017-07-21 21:25 ` Emilio G. Cota
2017-07-21 22:38 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 05/34] target: [tcg] Use a generic enum for DISAS_ values Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 06/34] target/arm: Delay check for magic kernel page Richard Henderson
2017-07-21 21:27 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 07/34] target/arm: Set is_jmp properly after single-stepping Richard Henderson
2017-07-21 21:37 ` Emilio G. Cota [this message]
2017-07-22 10:39 ` Richard Henderson
2017-07-21 22:39 ` Lluís Vilanova
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 08/34] tcg: Add generic translation framework Richard Henderson
2017-07-21 22:49 ` Lluís Vilanova
2017-07-21 23:38 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 09/34] target/i386: [tcg] Port to DisasContextBase Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 10/34] target/i386: [tcg] Port to init_disas_context Richard Henderson
2017-07-21 21:54 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 11/34] target/i386: [tcg] Port to insn_start Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 12/34] target/i386: [tcg] Port to breakpoint_check Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 13/34] target/i386: [tcg] Port to translate_insn Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 14/34] target/i386: [tcg] Port to tb_stop Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 15/34] target/i386: [tcg] Port to disas_log Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 16/34] target/i386: [tcg] Port to generic translation framework Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 17/34] target/arm: [tcg] Port to DisasContextBase Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 18/34] target/arm: [tcg] Port to init_disas_context Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 19/34] target/arm: [tcg, a64] " Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 20/34] target/arm: [tcg] Port to tb_start Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 21/34] target/arm: [tcg] Port to insn_start Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 22/34] target/arm: [tcg, a64] " Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 23/34] target/arm: [tcg, a64] Port to breakpoint_check Richard Henderson
2017-07-21 22:12 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 24/34] target/arm: [tcg] Port to translate_insn Richard Henderson
2017-07-21 22:24 ` Emilio G. Cota
2017-07-21 23:20 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 25/34] target/arm: [tcg, a64] " Richard Henderson
2017-07-21 22:28 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 26/34] target/arm: [tcg] Port to tb_stop Richard Henderson
2017-07-21 22:41 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 27/34] target/arm: [tcg, a64] " Richard Henderson
2017-07-21 22:47 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 28/34] target/arm: [tcg] Port to disas_log Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 29/34] target/arm: [tcg, a64] " Richard Henderson
2017-07-21 22:50 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 30/34] target/arm: [tcg] Port to generic translation framework Richard Henderson
2017-07-21 23:02 ` Emilio G. Cota
2017-07-22 0:05 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 31/34] target/arm: [a64] Move page and ss checks to init_disas_context Richard Henderson
2017-07-21 23:14 ` Emilio G. Cota
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 32/34] target/arm: Move ss check " Richard Henderson
2017-07-21 23:17 ` Emilio G. Cota
2017-07-22 9:07 ` Lluís Vilanova
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 33/34] target/arm: Split out thumb_tr_translate_insn Richard Henderson
2017-07-21 23:24 ` Emilio G. Cota
2017-07-22 0:35 ` Emilio G. Cota
2017-07-22 11:00 ` Richard Henderson
2017-07-15 9:42 ` [Qemu-devel] [PATCH v14 34/34] target/arm: Perform per-insn cross-page check only for Thumb Richard Henderson
2017-07-21 23:29 ` Emilio G. Cota
2017-07-15 10:15 ` [Qemu-devel] [PATCH v14 00/34] Generic translation framework no-reply
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=20170721213743.GE10809@flamenco \
--to=cota@braap.org \
--cc=alex.bennee@linaro.org \
--cc=crosthwaite.peter@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=vilanova@ac.upc.edu \
/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;
as well as URLs for NNTP newsgroup(s).