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

traps.h (911B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _ASMARM_TRAP_H
      3#define _ASMARM_TRAP_H
      4
      5#include <linux/list.h>
      6
      7struct pt_regs;
      8struct task_struct;
      9
     10struct undef_hook {
     11	struct list_head node;
     12	u32 instr_mask;
     13	u32 instr_val;
     14	u32 cpsr_mask;
     15	u32 cpsr_val;
     16	int (*fn)(struct pt_regs *regs, unsigned int instr);
     17};
     18
     19void register_undef_hook(struct undef_hook *hook);
     20void unregister_undef_hook(struct undef_hook *hook);
     21
     22static inline int __in_irqentry_text(unsigned long ptr)
     23{
     24	extern char __irqentry_text_start[];
     25	extern char __irqentry_text_end[];
     26
     27	return ptr >= (unsigned long)&__irqentry_text_start &&
     28	       ptr < (unsigned long)&__irqentry_text_end;
     29}
     30
     31extern void __init early_trap_init(void *);
     32extern void dump_backtrace_entry(unsigned long where, unsigned long from,
     33				 unsigned long frame, const char *loglvl);
     34extern void ptrace_break(struct pt_regs *regs);
     35
     36extern void *vectors_page;
     37
     38#endif