xref: /linux/arch/arm64/include/asm/brk-imm.h (revision f98deee9a9f8c47d05a0f64d86440882dca772ff)
1*f98deee9SArd Biesheuvel /*
2*f98deee9SArd Biesheuvel  * Copyright (C) 2012 ARM Ltd.
3*f98deee9SArd Biesheuvel  *
4*f98deee9SArd Biesheuvel  * This program is free software; you can redistribute it and/or modify
5*f98deee9SArd Biesheuvel  * it under the terms of the GNU General Public License version 2 as
6*f98deee9SArd Biesheuvel  * published by the Free Software Foundation.
7*f98deee9SArd Biesheuvel  */
8*f98deee9SArd Biesheuvel 
9*f98deee9SArd Biesheuvel #ifndef __ASM_BRK_IMM_H
10*f98deee9SArd Biesheuvel #define __ASM_BRK_IMM_H
11*f98deee9SArd Biesheuvel 
12*f98deee9SArd Biesheuvel /*
13*f98deee9SArd Biesheuvel  * #imm16 values used for BRK instruction generation
14*f98deee9SArd Biesheuvel  * Allowed values for kgdb are 0x400 - 0x7ff
15*f98deee9SArd Biesheuvel  * 0x100: for triggering a fault on purpose (reserved)
16*f98deee9SArd Biesheuvel  * 0x400: for dynamic BRK instruction
17*f98deee9SArd Biesheuvel  * 0x401: for compile time BRK instruction
18*f98deee9SArd Biesheuvel  * 0x800: kernel-mode BUG() and WARN() traps
19*f98deee9SArd Biesheuvel  */
20*f98deee9SArd Biesheuvel #define FAULT_BRK_IMM			0x100
21*f98deee9SArd Biesheuvel #define KGDB_DYN_DBG_BRK_IMM		0x400
22*f98deee9SArd Biesheuvel #define KGDB_COMPILED_DBG_BRK_IMM	0x401
23*f98deee9SArd Biesheuvel #define BUG_BRK_IMM			0x800
24*f98deee9SArd Biesheuvel 
25*f98deee9SArd Biesheuvel #endif
26