qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 5/8] target/arm: Take an exception if PC is misaligned


From: Richard Henderson
Subject: Re: [PATCH v2 5/8] target/arm: Take an exception if PC is misaligned
Date: Mon, 20 Sep 2021 06:29:57 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 9/20/21 1:08 AM, Peter Maydell wrote:
On Mon, 20 Sept 2021 at 02:29, Richard Henderson
<richard.henderson@linaro.org> wrote:

On 8/26/21 6:45 AM, Peter Maydell wrote:
I don't think you should need to special case AArch64 vs AArch32 like this;
you can do
     env->exception.vaddress = pc;
     env->exception.fsr = the_fsr;
     raise_exception(env, EXCP_PREFETCH_ABORT, syn_pcalignment(), target_el);

for both. AArch64/AArch32-Hyp exception entry will ignore exception.fsr,
and AArch32-not-Hyp entry will ignore exception.syndrome.

Not true.  The latter case still requires syndrome with EC_INSNABORT, etc.

For AArch32-not-Hyp ? Syndrome doesn't matter at all in that case
(only Hyp mode and AArch64 have syndrome registers); it just needs
to take the prefetch abort exception, which you get by using
EXCP_PREFETCH_ABORT.

In which case I have incorrect asserts over in cpu_loop.  Sigh.

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]