]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: mm: Re-implement the __tlbi_level macro as a C function
authorRyan Roberts <ryan.roberts@arm.com>
Mon, 2 Mar 2026 13:55:48 +0000 (13:55 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 13 Mar 2026 17:23:03 +0000 (17:23 +0000)
commit5b3fb8a6b429c33ee669d08b1a883d881e9614a1
tree087a23064cc0723f1b38e3734061751f4c311c37
parent1f318b96cc84d7c2ab792fcc0bfd42a7ca890681
arm64: mm: Re-implement the __tlbi_level macro as a C function

As part of efforts to reduce our reliance on complex preprocessor macros
for TLB invalidation routines, convert the __tlbi_level macro to a C
function for by-level TLB invalidation.

Each specific tlbi level op is implemented as a C function and the
appropriate function pointer is passed to __tlbi_level(). 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