linux/arch/ia64/mm/extable.c
<<
>>
Prefs
   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}
  25