]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: mm: Introduce a C wrapper for by-range TLB invalidation
authorRyan Roberts <ryan.roberts@arm.com>
Mon, 2 Mar 2026 13:55:49 +0000 (13:55 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 13 Mar 2026 17:23:03 +0000 (17:23 +0000)
commitd2bf3226952c64d1c2ce4995cce60b3fb8ae5f33
tree37a2bf9b4fe4442d024eacf10e9a067bfe12249a
parent5b3fb8a6b429c33ee669d08b1a883d881e9614a1
arm64: mm: Introduce a C wrapper for by-range TLB invalidation

As part of efforts to reduce our reliance on complex preprocessor macros
for TLB invalidation routines, introduce a new C wrapper for by-range
TLB invalidation which can be used instead of the __tlbi() macro and can
additionally be called from C code.

Each specific tlbi range op is implemented as a C function and the
appropriate function pointer is passed to __tlbi_range(). Since
everything is declared inline and is statically resolvable, the compiler
will convert the indirect function call to a direct inline execution.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/tlbflush.h