diff options
author | Pratyush Anand <panand@redhat.com> | 2016-11-02 10:10:46 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2016-11-07 19:15:21 +0100 |
commit | 9842ceae9fa8deae141533d52a6ead7666962c09 (patch) | |
tree | 773c1a5e348b02db818a7a9b271a27d05d4a7c9f /arch/arm64/include/asm/debug-monitors.h | |
parent | arm64: introduce mm context flag to keep 32 bit task information (diff) | |
download | linux-9842ceae9fa8deae141533d52a6ead7666962c09.tar.xz linux-9842ceae9fa8deae141533d52a6ead7666962c09.zip |
arm64: Add uprobe support
This patch adds support for uprobe on ARM64 architecture.
Unit tests for following have been done so far and they have been found
working
1. Step-able instructions, like sub, ldr, add etc.
2. Simulation-able like ret, cbnz, cbz etc.
3. uretprobe
4. Reject-able instructions like sev, wfe etc.
5. trapped and abort xol path
6. probe at unaligned user address.
7. longjump test cases
Currently it does not support aarch32 instruction probing.
Signed-off-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/debug-monitors.h')
-rw-r--r-- | arch/arm64/include/asm/debug-monitors.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/debug-monitors.h b/arch/arm64/include/asm/debug-monitors.h index b71420a12f26..a44cf5225429 100644 --- a/arch/arm64/include/asm/debug-monitors.h +++ b/arch/arm64/include/asm/debug-monitors.h @@ -68,6 +68,9 @@ #define BRK64_ESR_MASK 0xFFFF #define BRK64_ESR_KPROBES 0x0004 #define BRK64_OPCODE_KPROBES (AARCH64_BREAK_MON | (BRK64_ESR_KPROBES << 5)) +/* uprobes BRK opcodes with ESR encoding */ +#define BRK64_ESR_UPROBES 0x0005 +#define BRK64_OPCODE_UPROBES (AARCH64_BREAK_MON | (BRK64_ESR_UPROBES << 5)) /* AArch32 */ #define DBG_ESR_EVT_BKPT 0x4 |