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

extable.c (620B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Kernel exception handling table support.  Derived from arch/alpha/mm/extable.c.
      4 *
      5 * Copyright (C) 1998, 1999, 2001-2002, 2004 Hewlett-Packard Co
      6 *	David Mosberger-Tang <davidm@hpl.hp.com>
      7 */
      8
      9#include <asm/ptrace.h>
     10#include <asm/extable.h>
     11#include <asm/errno.h>
     12#include <asm/processor.h>
     13
     14void
     15ia64_handle_exception (struct pt_regs *regs, const struct exception_table_entry *e)
     16{
     17	long fix = (u64) &e->fixup + e->fixup;
     18
     19	regs->r8 = -EFAULT;
     20	if (fix & 4)
     21		regs->r9 = 0;
     22	regs->cr_iip = fix & ~0xf;
     23	ia64_psr(regs)->ri = fix & 0x3;		/* set continuation slot number */
     24}