xref: /linux/arch/arm64/include/asm/insn-def.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __ASM_INSN_DEF_H
4 #define __ASM_INSN_DEF_H
5 
6 #include <asm/brk-imm.h>
7 
8 /* A64 instructions are always 32 bits. */
9 #define	AARCH64_INSN_SIZE		4
10 
11 /*
12  * BRK instruction encoding
13  * The #imm16 value should be placed at bits[20:5] within BRK ins
14  */
15 #define AARCH64_BREAK_MON	0xd4200000
16 
17 /*
18  * BRK instruction for provoking a fault on purpose
19  * Unlike kgdb, #imm16 value with unallocated handler is used for faulting.
20  */
21 #define AARCH64_BREAK_FAULT	(AARCH64_BREAK_MON | (FAULT_BRK_IMM << 5))
22 
23 #endif /* __ASM_INSN_DEF_H */
24