arm64: insn: Add helpers for BTI
authorMark Rutland <mark.rutland@arm.com>
Mon, 23 Jan 2023 13:46:00 +0000 (13:46 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 24 Jan 2023 11:49:43 +0000 (11:49 +0000)
commit2bbbb4015aa1af62f8002de86de019786ecf63a7
treeb92f7a08983b3813a00ddcbce940803b774fede1
parent47a15aa544279d34e14e17ca3b5855e39b946cec
arm64: insn: Add helpers for BTI

In subsequent patches we'd like to check whether an instruction is a
BTI. In preparation for this, add basic instruction helpers for BTI
instructions.

Per ARM DDI 0487H.a section C6.2.41, BTI is encoded in binary as
follows, MSB to LSB:

  1101 0101 000 0011 0010 0100 xx01 1111

Where the `xx` bits encode J/C/JC:

  00 : (omitted)
  01 : C
  10 : J
  11 : JC

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Florent Revest <revest@chromium.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20230123134603.1064407-6-mark.rutland@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/insn.h