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

fault.c (659B)


      1/* 
      2 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
      3 * Licensed under the GPL
      4 */
      5
      6#include <sysdep/ptrace.h>
      7
      8/* These two are from asm-um/uaccess.h and linux/module.h, check them. */
      9struct exception_table_entry
     10{
     11	unsigned long insn;
     12	unsigned long fixup;
     13};
     14
     15const struct exception_table_entry *search_exception_tables(unsigned long add);
     16
     17/* Compare this to arch/i386/mm/extable.c:fixup_exception() */
     18int arch_fixup(unsigned long address, struct uml_pt_regs *regs)
     19{
     20	const struct exception_table_entry *fixup;
     21
     22	fixup = search_exception_tables(address);
     23	if (fixup) {
     24		UPT_IP(regs) = fixup->fixup;
     25		return 1;
     26	}
     27	return 0;
     28}