Linux Audio

Check our new training course

Loading...
v4.17
 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}
v5.4
 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}