Linux Audio

Check our new training course

Linux kernel drivers training

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