[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-8.0] target/arm: Fix generated code for cpreg reads when
From: |
Peter Maydell |
Subject: |
Re: [PATCH for-8.0] target/arm: Fix generated code for cpreg reads when HSTR is active |
Date: |
Tue, 28 Mar 2023 19:27:04 +0100 |
On Tue, 28 Mar 2023 at 18:27, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 3/28/23 09:28, Peter Maydell wrote:
> > + /*
> > + * gen_exception_insn() will set is_jmp to DISAS_NORETURN,
> > + * but since we're conditionally branching over it, we want
> > + * to retain the existing value.
> > + */
> > + old_is_jmp = s->base.is_jmp;
> > gen_exception_insn(s, 0, EXCP_UDEF, syndrome);
> > + s->base.is_jmp = old_is_jmp;
>
> A third solution is to simply set is_jmp = DISAS_NEXT here.
I wasn't confident enough that the previous is_jmp had
to be DISAS_NEXT to do that -- there are a lot of
different values and it's not clear to me which are ones you
might find lying around in is_jmp at the start of an insn.
I like the set_disas_label() idea, but maybe for 8.1 at this
point...
thanks
-- PMM