Commit 97f1c050 authored by Miles Bader's avatar Miles Bader Committed by Linus Torvalds

[PATCH] v850 kernel entry fixes and cleanup

1) Preserve the v850 system-call-number register when handling a signal;
   otherwise system calls will not be correctly restarted afterwards
2) Correctly handle illegal insn exceptions, which need a special
   instruction to return (not reti), and save PC/PSW to a different place
2) Remove some unnecessary register saving in the trap handler
3) Consolidate various places that use the register save/restore macros
4) Eliminate some unused compile-time configuration stuff
5) A bit of whitespace and other syntactic cleanup
parent 8e5da0eb
/* /*
* arch/v850/kernel/bug.c -- Bug reporting functions * arch/v850/kernel/bug.c -- Bug reporting functions
* *
* Copyright (C) 2001,02 NEC Corporation * Copyright (C) 2001,02,03 NEC Electronics Corporation
* Copyright (C) 2001,02 Miles Bader <miles@gnu.org> * Copyright (C) 2001,02,03 Miles Bader <miles@gnu.org>
* *
* This file is subject to the terms and conditions of the GNU General * This file is subject to the terms and conditions of the GNU General
* Public License. See the file COPYING in the main directory of this * Public License. See the file COPYING in the main directory of this
...@@ -40,12 +40,6 @@ int bad_trap (int trap_num, struct pt_regs *regs) ...@@ -40,12 +40,6 @@ int bad_trap (int trap_num, struct pt_regs *regs)
return -ENOSYS; return -ENOSYS;
} }
int debug_trap (struct pt_regs *regs)
{
printk (KERN_CRIT "debug trap at 0x%08lx!\n", regs->pc);
return -ENOSYS;
}
#ifdef CONFIG_RESET_GUARD #ifdef CONFIG_RESET_GUARD
void unexpected_reset (unsigned long ret_addr, unsigned long kmode, void unexpected_reset (unsigned long ret_addr, unsigned long kmode,
struct task_struct *task, unsigned long sp) struct task_struct *task, unsigned long sp)
......
This diff is collapsed.
/* /*
* arch/v850/kernel/intv.S -- Interrupt vectors * arch/v850/kernel/intv.S -- Interrupt vectors
* *
* Copyright (C) 2001,02 NEC Corporation * Copyright (C) 2001,02,03 NEC Electronics Corporation
* Copyright (C) 2001,02 Miles Bader <miles@gnu.org> * Copyright (C) 2001,02,03 Miles Bader <miles@gnu.org>
* *
* This file is subject to the terms and conditions of the GNU General * This file is subject to the terms and conditions of the GNU General
* Public License. See the file COPYING in the main directory of this * Public License. See the file COPYING in the main directory of this
...@@ -40,22 +40,19 @@ ...@@ -40,22 +40,19 @@
/* Generic interrupt vectors. */ /* Generic interrupt vectors. */
.section .intv.common, "ax" .section .intv.common, "ax"
.balign 0x10 .balign 0x10
JUMP_TO_HANDLER (nmi, NMI_ENTRY_SP) // NMI0 JUMP_TO_HANDLER (nmi, NMI_ENTRY_SP) // 0x10 - NMI0
.balign 0x10 .balign 0x10
JUMP_TO_HANDLER (nmi, NMI_ENTRY_SP) // NMI1 JUMP_TO_HANDLER (nmi, NMI_ENTRY_SP) // 0x20 - NMI1
.balign 0x10 .balign 0x10
JUMP_TO_HANDLER (nmi, NMI_ENTRY_SP) // NMI2 JUMP_TO_HANDLER (nmi, NMI_ENTRY_SP) // 0x30 - NMI2
.balign 0x10 .balign 0x10
JUMP_TO_HANDLER (trap, ENTRY_SP) // TRAP0n JUMP_TO_HANDLER (trap, ENTRY_SP) // 0x40 - TRAP0n
.balign 0x10 .balign 0x10
JUMP_TO_HANDLER (trap, ENTRY_SP) // TRAP1n JUMP_TO_HANDLER (trap, ENTRY_SP) // 0x50 - TRAP1n
.balign 0x10 .balign 0x10
JUMP_TO_HANDLER (irq, ENTRY_SP) // illegal insn trap JUMP_TO_HANDLER (dbtrap, ENTRY_SP) // 0x60 - Illegal op / DBTRAP insn
.balign 0x10
JUMP_TO_HANDLER (irq, ENTRY_SP) // DBTRAP insn
/* Hardware interrupt vectors. */ /* Hardware interrupt vectors. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment