[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/18] target/arm: Allow raise_exception to handle finding ta
From: |
Peter Maydell |
Subject: |
Re: [PATCH 01/18] target/arm: Allow raise_exception to handle finding target EL |
Date: |
Mon, 30 May 2022 20:01:01 +0100 |
On Mon, 30 May 2022 at 17:39, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 5/30/22 05:44, Peter Maydell wrote:
> >> G_NORETURN void raise_exception(CPUARMState *env, uint32_t excp,
> >> - uint32_t syndrome, uint32_t target_el);
> >> + uint32_t syndrome, uint32_t
> >> cur_or_target_el);
> >
> > "cur_or_target_el" is odd, because it's mixing what the architecture
> > sets up as two distinct things: the state the exception is
> > "taken from", and the state the exception is "taken to". I was
> > hoping this was just a temporary thing for the purposes of the
> > refactoring and it would go away near the end of the series, but
> > it doesn't seem to.
>
> No, sorry. Most of the time it's cur_el, except from cpregs, where we get
> directed to a
> specific higher el. There may be some way to split the helpers...
>
> I'll have another go at this reorg this week. If it still doesn't feel
> cleaner, we can
> drop it, and I'll make some changes to the SME patch set building on this.
I was wondering if it would work better the other way around, so that
raise_exception() doesn't mess with the target_el at all, and all the
"work out which EL to take the exception to" is done in
target_exception_el() and similar ?
-- PMM
[PATCH 02/18] target/arm: Use arm_current_el for simple exceptions, Richard Henderson, 2022/05/23
[PATCH 04/18] target/arm: Move HCR_TGE check into exception_target_el, Richard Henderson, 2022/05/23
[PATCH 05/18] target/arm: Move arm_singlestep_active out of line, Richard Henderson, 2022/05/23
[PATCH 09/18] target/arm: Move exception_bkpt_insn to debug_helper.c, Richard Henderson, 2022/05/23
[PATCH 07/18] target/arm: Hoist arm_current_el in arm_generate_debug_exceptions, Richard Henderson, 2022/05/23