]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: probes: Handle probes on hinted conditional branch instructions
authorVladimir Murzin <vladimir.murzin@arm.com>
Fri, 15 May 2026 13:37:29 +0000 (14:37 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 19 May 2026 13:54:08 +0000 (14:54 +0100)
BC.cond instructions introduced by FEAT_HBC cannot be executed
out-of-line, like other branch instructions. However, they can be
simulated in the same way as B.cond instructions.

Extend the B.cond decoder mask to match BC.cond instructions as well,
and handle them using the existing B.cond simulation path.

Fixes: 7f86d128e437 ("arm64: add HWCAP for FEAT_HBC (hinted conditional branches)")
Cc: <stable@vger.kernel.org>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/insn.h

index f463a654a2bbd1ba72401f6cf7d5cd7be3a09652..cc0702fa64a79e9d34f204025f27a6badcae6404 100644 (file)
@@ -409,7 +409,7 @@ __AARCH64_INSN_FUNCS(cbz,   0x7F000000, 0x34000000)
 __AARCH64_INSN_FUNCS(cbnz,     0x7F000000, 0x35000000)
 __AARCH64_INSN_FUNCS(tbz,      0x7F000000, 0x36000000)
 __AARCH64_INSN_FUNCS(tbnz,     0x7F000000, 0x37000000)
-__AARCH64_INSN_FUNCS(bcond,    0xFF000010, 0x54000000)
+__AARCH64_INSN_FUNCS(bcond,    0xFF000000, 0x54000000)
 __AARCH64_INSN_FUNCS(svc,      0xFFE0001F, 0xD4000001)
 __AARCH64_INSN_FUNCS(hvc,      0xFFE0001F, 0xD4000002)
 __AARCH64_INSN_FUNCS(smc,      0xFFE0001F, 0xD4000003)