blob: e3d47b52161db1ed0b43e307987585453919c0b2 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-only */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
3 * Copyright (C) 2012 ARM Ltd.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00004 */
5
6#ifndef __ASM_BRK_IMM_H
7#define __ASM_BRK_IMM_H
8
9/*
10 * #imm16 values used for BRK instruction generation
David Brazdil0f672f62019-12-10 10:32:29 +000011 * 0x004: for installing kprobes
12 * 0x005: for installing uprobes
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000013 * Allowed values for kgdb are 0x400 - 0x7ff
14 * 0x100: for triggering a fault on purpose (reserved)
15 * 0x400: for dynamic BRK instruction
16 * 0x401: for compile time BRK instruction
17 * 0x800: kernel-mode BUG() and WARN() traps
David Brazdil0f672f62019-12-10 10:32:29 +000018 * 0x9xx: tag-based KASAN trap (allowed values 0x900 - 0x9ff)
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000019 */
David Brazdil0f672f62019-12-10 10:32:29 +000020#define KPROBES_BRK_IMM 0x004
21#define UPROBES_BRK_IMM 0x005
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000022#define FAULT_BRK_IMM 0x100
23#define KGDB_DYN_DBG_BRK_IMM 0x400
24#define KGDB_COMPILED_DBG_BRK_IMM 0x401
25#define BUG_BRK_IMM 0x800
David Brazdil0f672f62019-12-10 10:32:29 +000026#define KASAN_BRK_IMM 0x900
27#define KASAN_BRK_MASK 0x0ff
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000028
29#endif