]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: tlb: Allow XZR argument to TLBI ops
authorMark Rutland <mark.rutland@arm.com>
Wed, 18 Feb 2026 16:43:47 +0000 (16:43 +0000)
committerWill Deacon <will@kernel.org>
Wed, 25 Feb 2026 21:37:44 +0000 (21:37 +0000)
commitbfd9c931d19aa59fb8371d557774fa169b15db9a
tree22bdb2a1274001810020deaa1af42ee6e3e7514f
parent9d1a7c4a457eac8a7e07e1685f95e54fa551db5e
arm64: tlb: Allow XZR argument to TLBI ops

The TLBI instruction accepts XZR as a register argument, and for TLBI
operations with a register argument, there is no functional difference
between using XZR or another GPR which contains zeroes. Operations
without a register argument are encoded as if XZR were used.

Allow the __TLBI_1() macro to use XZR when a register argument is all
zeroes.

Today this only results in a trivial code saving in
__do_compat_cache_op()'s workaround for Neoverse-N1 erratum #1542419. In
subsequent patches this pattern will be used more generally.

There should be no functional change as a result of this patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oupton@kernel.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/tlbflush.h