arm64/ptrace: Support access to TPIDR2_EL0
authorMark Brown <broonie@kernel.org>
Mon, 29 Aug 2022 15:49:20 +0000 (16:49 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 21 Sep 2022 16:26:58 +0000 (17:26 +0100)
commit0027d9c6c7b57b61b82f7275633ba89d0de2d2fd
treeb3e42c5e5235629733ea8466c42e0f35d45d9dc3
parentf285da05c62a429f1978c5520cf069d483a7d9af
arm64/ptrace: Support access to TPIDR2_EL0

SME introduces an additional EL0 register, TPIDR2_EL0, intended for use
by userspace as part of the SME. Provide ptrace access to it through the
existing NT_ARM_TLS regset used for TPIDR_EL0 by expanding it to two
registers with TPIDR2_EL0 being the second one.

Existing programs that query the size of the register set will be able
to observe the increased size of the register set. Programs that assume
the register set is single register will see no change. On systems that
do not support SME TPIDR2_EL0 will read as 0 and writes will be ignored,
support for SME should be queried via hwcaps as normal.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220829154921.837871-4-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/ptrace.c