cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

checkers.h (1152B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * arch/arm/probes/kprobes/checkers.h
      4 *
      5 * Copyright (C) 2014 Huawei Inc.
      6 */
      7#ifndef _ARM_KERNEL_PROBES_CHECKERS_H
      8#define _ARM_KERNEL_PROBES_CHECKERS_H
      9
     10#include <linux/kernel.h>
     11#include <linux/types.h>
     12#include "../decode.h"
     13
     14extern probes_check_t checker_stack_use_none;
     15extern probes_check_t checker_stack_use_unknown;
     16#ifdef CONFIG_THUMB2_KERNEL
     17extern probes_check_t checker_stack_use_imm_0xx;
     18#else
     19extern probes_check_t checker_stack_use_imm_x0x;
     20#endif
     21extern probes_check_t checker_stack_use_imm_xxx;
     22extern probes_check_t checker_stack_use_stmdx;
     23
     24enum {
     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
     36};
     37
     38extern const union decode_action stack_check_actions[];
     39
     40#ifndef CONFIG_THUMB2_KERNEL
     41extern const struct decode_checker arm_stack_checker[];
     42extern const struct decode_checker arm_regs_checker[];
     43#else
     44#endif
     45extern const struct decode_checker t32_stack_checker[];
     46extern const struct decode_checker t16_stack_checker[];
     47#endif