qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] Undefine SWP instruction unless SCTLR.SW bit


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH v2] Undefine SWP instruction unless SCTLR.SW bit is set
Date: Tue, 17 Apr 2012 13:37:47 +0100

On 17 April 2012 13:28, Alexey Starikovskiy <address@hidden> wrote:
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -7415,6 +7415,15 @@ static void disas_arm_insn(CPUARMState * env,
> DisasContext *s)
>                         }
>                         tcg_temp_free(addr);
>                     } else {
> +#ifndef CONFIG_USER_ONLY
> +                        if (arm_feature(env, ARM_FEATURE_V7MP) &&
> +                            !(env->cp15.c1_sys & (1 << 10))) {
> +                            /* Check if SCTLR.SW is set. Any change to SCTLR
> +                             * invalidates all translations, so we are safe.
> +                             */
> +                            goto illegal_op;
> +                        }
> +#endif

I'm OK with this as a fix for the user-mode issue, but it needs a comment
explaining why this code is only here in system mode.

-- PMM

reply via email to

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