[RFCv1 3/4] arm64: Introduce functions for controlling PID tracing

From: Leo Yan
Date: Thu Oct 21 2021 - 09:46:04 EST


Introduce two functions contextidr_enable() and contextidr_disable(),
which can be used by kernel modules to turn on or off PID tracing in
contextidr register.

Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx>
---
arch/arm64/include/asm/mmu_context.h | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/arch/arm64/include/asm/mmu_context.h b/arch/arm64/include/asm/mmu_context.h
index e1f33616f83a..0c1669db19a1 100644
--- a/arch/arm64/include/asm/mmu_context.h
+++ b/arch/arm64/include/asm/mmu_context.h
@@ -37,6 +37,16 @@ static inline void contextidr_thread_switch(struct task_struct *next)
isb();
}

+static inline void contextidr_enable(void)
+{
+ static_branch_inc(&contextidr_in_use);
+}
+
+static inline void contextidr_disable(void)
+{
+ static_branch_dec(&contextidr_in_use);
+}
+
/*
* Set TTBR0 to reserved_pg_dir. No translations will be possible via TTBR0.
*/
--
2.25.1