WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / probes / kprobes / checkers.h
blob102644841dd7a971b65b9a7f0efd08e17389b7ab
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * arch/arm/probes/kprobes/checkers.h
5 * Copyright (C) 2014 Huawei Inc.
6 */
7 #ifndef _ARM_KERNEL_PROBES_CHECKERS_H
8 #define _ARM_KERNEL_PROBES_CHECKERS_H
10 #include <linux/kernel.h>
11 #include <linux/types.h>
12 #include "../decode.h"
14 extern probes_check_t checker_stack_use_none;
15 extern probes_check_t checker_stack_use_unknown;
16 #ifdef CONFIG_THUMB2_KERNEL
17 extern probes_check_t checker_stack_use_imm_0xx;
18 #else
19 extern probes_check_t checker_stack_use_imm_x0x;
20 #endif
21 extern probes_check_t checker_stack_use_imm_xxx;
22 extern probes_check_t checker_stack_use_stmdx;
24 enum {
25 STACK_USE_NONE,
26 STACK_USE_UNKNOWN,
27 #ifdef CONFIG_THUMB2_KERNEL
28 STACK_USE_FIXED_0XX,
29 STACK_USE_T32STRD,
30 #else
31 STACK_USE_FIXED_X0X,
32 #endif
33 STACK_USE_FIXED_XXX,
34 STACK_USE_STMDX,
35 NUM_STACK_USE_TYPES
38 extern const union decode_action stack_check_actions[];
40 #ifndef CONFIG_THUMB2_KERNEL
41 extern const struct decode_checker arm_stack_checker[];
42 extern const struct decode_checker arm_regs_checker[];
43 #else
44 #endif
45 extern const struct decode_checker t32_stack_checker[];
46 extern const struct decode_checker t16_stack_checker[];
47 #endif