[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH 18/20] target/arm: Implement BLXNS
From: |
Richard Henderson |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH 18/20] target/arm: Implement BLXNS |
Date: |
Thu, 5 Oct 2017 14:56:26 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 09/22/2017 11:00 AM, Peter Maydell wrote:
> +void HELPER(v7m_blxns)(CPUARMState *env, uint32_t dest)
> +{
...
> + if (dest & 1) {
> + /* target is Secure, so this is just a normal BLX,
> + * except that the low bit doesn't indicate Thumb/not.
> + */
> + env->regs[14] = nextinst;
> + env->thumb = 1;
> + env->regs[15] = dest & ~1;
> + return;
> + }
...
> + switch_v7m_security_state(env, dest & 1);
> + env->thumb = 1;
> + env->regs[15] = dest & ~1;
dest & 1 is known to be 0.
> +static inline void gen_blxns(DisasContext *s, int rm)
> +{
> + TCGv_i32 var = load_reg(s, rm);
> +
> + /* We don't need to sync condexec state, for the same reason as blxns.
s/blxns/bxns/ ?
Otherwise,
Reviewed-by: Richard Henderson <address@hidden>
r~
- Re: [Qemu-arm] [Qemu-devel] [PATCH 18/20] target/arm: Implement BLXNS,
Richard Henderson <=