From b25900fd3ce31e95187d3a9520939a2faa1bb5c7 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Wed, 9 Jan 2019 16:20:20 +0000 Subject: [PATCH] arch-arm, sim-se: Add support for TLS in clone Change-Id: I1f78dce05a48a2e3adfaf027cd38ab55507b9611 Signed-off-by: Andreas Sandberg Cc: Giacomo Travaglini Cc: Javier Setoain Cc: Brandon Potter Reviewed-on: https://gem5-review.googlesource.com/c/15437 Reviewed-by: Jason Lowe-Power Maintainer: Brandon Potter --- src/arch/arm/linux/linux.hh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/arch/arm/linux/linux.hh b/src/arch/arm/linux/linux.hh index e1f27a761..cff1e47fd 100644 --- a/src/arch/arm/linux/linux.hh +++ b/src/arch/arm/linux/linux.hh @@ -58,6 +58,12 @@ class ArmLinux : public Linux uint64_t stack, uint64_t tls) { ArmISA::copyRegs(ptc, ctc); + + if (flags & TGT_CLONE_SETTLS) { + /* TPIDR_EL0 is architecturally mapped to TPIDRURW, so + * this works for both aarch32 and aarch64. */ + ctc->setMiscReg(ArmISA::MISCREG_TPIDR_EL0, tls); + } } }; -- 2.30.2