Message ID | 20220628042117.368549-34-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/arm: Scalable Matrix Extension | expand |
On Tue, 28 Jun 2022 at 05:57, Richard Henderson <richard.henderson@linaro.org> wrote: > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > linux-user/aarch64/target_cpu.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/linux-user/aarch64/target_cpu.h b/linux-user/aarch64/target_cpu.h > index 97a477bd3e..f90359faf2 100644 > --- a/linux-user/aarch64/target_cpu.h > +++ b/linux-user/aarch64/target_cpu.h > @@ -34,10 +34,13 @@ static inline void cpu_clone_regs_parent(CPUARMState *env, unsigned flags) > > static inline void cpu_set_tls(CPUARMState *env, target_ulong newtls) > { > - /* Note that AArch64 Linux keeps the TLS pointer in TPIDR; this is > + /* > + * Note that AArch64 Linux keeps the TLS pointer in TPIDR; this is > * different from AArch32 Linux, which uses TPIDRRO. > */ > env->cp15.tpidr_el[0] = newtls; > + /* TPIDR2_EL0 is cleared with CLONE_SETTLS. */ > + env->cp15.tpidr2_el0 = 0; > } > > static inline abi_ulong get_sp_from_cpustate(CPUARMState *state) > -- Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM
diff --git a/linux-user/aarch64/target_cpu.h b/linux-user/aarch64/target_cpu.h index 97a477bd3e..f90359faf2 100644 --- a/linux-user/aarch64/target_cpu.h +++ b/linux-user/aarch64/target_cpu.h @@ -34,10 +34,13 @@ static inline void cpu_clone_regs_parent(CPUARMState *env, unsigned flags) static inline void cpu_set_tls(CPUARMState *env, target_ulong newtls) { - /* Note that AArch64 Linux keeps the TLS pointer in TPIDR; this is + /* + * Note that AArch64 Linux keeps the TLS pointer in TPIDR; this is * different from AArch32 Linux, which uses TPIDRRO. */ env->cp15.tpidr_el[0] = newtls; + /* TPIDR2_EL0 is cleared with CLONE_SETTLS. */ + env->cp15.tpidr2_el0 = 0; } static inline abi_ulong get_sp_from_cpustate(CPUARMState *state)
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- linux-user/aarch64/target_cpu.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)