^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (C) 2012 ARM Ltd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #ifndef __ASM_BRK_IMM_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define __ASM_BRK_IMM_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * #imm16 values used for BRK instruction generation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * 0x004: for installing kprobes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) * 0x005: for installing uprobes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * 0x006: for kprobe software single-step
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) * Allowed values for kgdb are 0x400 - 0x7ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * 0x100: for triggering a fault on purpose (reserved)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * 0x400: for dynamic BRK instruction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * 0x401: for compile time BRK instruction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) * 0x800: kernel-mode BUG() and WARN() traps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * 0x9xx: tag-based KASAN trap (allowed values 0x900 - 0x9ff)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define KPROBES_BRK_IMM 0x004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define UPROBES_BRK_IMM 0x005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define KPROBES_BRK_SS_IMM 0x006
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define FAULT_BRK_IMM 0x100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define KGDB_DYN_DBG_BRK_IMM 0x400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define KGDB_COMPILED_DBG_BRK_IMM 0x401
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define BUG_BRK_IMM 0x800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define KASAN_BRK_IMM 0x900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define KASAN_BRK_MASK 0x0ff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #endif