Skip to content

Commit 9fb8e91

Browse files
committed
tools: arm64: Grab a copy of esr.h from kernel
Grab esr.h and brk-imm.h for subsequent use in KVM selftests. Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20241025203106.3529261-3-oliver.upton@linux.dev Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
1 parent e735a5d commit 9fb8e91

File tree

2 files changed

+497
-0
lines changed

2 files changed

+497
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/* SPDX-License-Identifier: GPL-2.0-only */
2+
/*
3+
* Copyright (C) 2012 ARM Ltd.
4+
*/
5+
6+
#ifndef __ASM_BRK_IMM_H
7+
#define __ASM_BRK_IMM_H
8+
9+
/*
10+
* #imm16 values used for BRK instruction generation
11+
* 0x004: for installing kprobes
12+
* 0x005: for installing uprobes
13+
* 0x006: for kprobe software single-step
14+
* 0x007: for kretprobe return
15+
* Allowed values for kgdb are 0x400 - 0x7ff
16+
* 0x100: for triggering a fault on purpose (reserved)
17+
* 0x400: for dynamic BRK instruction
18+
* 0x401: for compile time BRK instruction
19+
* 0x800: kernel-mode BUG() and WARN() traps
20+
* 0x9xx: tag-based KASAN trap (allowed values 0x900 - 0x9ff)
21+
* 0x55xx: Undefined Behavior Sanitizer traps ('U' << 8)
22+
* 0x8xxx: Control-Flow Integrity traps
23+
*/
24+
#define KPROBES_BRK_IMM 0x004
25+
#define UPROBES_BRK_IMM 0x005
26+
#define KPROBES_BRK_SS_IMM 0x006
27+
#define KRETPROBES_BRK_IMM 0x007
28+
#define FAULT_BRK_IMM 0x100
29+
#define KGDB_DYN_DBG_BRK_IMM 0x400
30+
#define KGDB_COMPILED_DBG_BRK_IMM 0x401
31+
#define BUG_BRK_IMM 0x800
32+
#define KASAN_BRK_IMM 0x900
33+
#define KASAN_BRK_MASK 0x0ff
34+
#define UBSAN_BRK_IMM 0x5500
35+
#define UBSAN_BRK_MASK 0x00ff
36+
37+
#define CFI_BRK_IMM_TARGET GENMASK(4, 0)
38+
#define CFI_BRK_IMM_TYPE GENMASK(9, 5)
39+
#define CFI_BRK_IMM_BASE 0x8000
40+
#define CFI_BRK_IMM_MASK (CFI_BRK_IMM_TARGET | CFI_BRK_IMM_TYPE)
41+
42+
#endif

0 commit comments

Comments
 (0)