patch-2.1.34 linux/arch/sparc64/kernel/traps.c

Next file: linux/arch/sparc64/kernel/ttable.S
Previous file: linux/arch/sparc64/kernel/time.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.33/linux/arch/sparc64/kernel/traps.c linux/arch/sparc64/kernel/traps.c
@@ -1,4 +1,4 @@
-/* $Id: traps.c,v 1.1 1997/03/18 17:59:12 jj Exp $
+/* $Id: traps.c,v 1.5 1997/04/14 06:56:55 davem Exp $
  * arch/sparc/kernel/traps.c
  *
  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
@@ -42,6 +42,53 @@
 
 void syscall_trace_exit(struct pt_regs *regs)
 {
+}
+
+void sparc64_dtlb_fault_handler (void)
+{
+	printk ("sparc64_dtlb_fault_handler\n");
+	while (1);
+	/* Die for now... */
+}
+
+void sparc64_dtlb_refbit_handler (struct pt_regs *regs)
+{
+	printk ("sparc64_dtlb_refbit_handler[%016lx]\n", regs->tpc);
+	while (1);
+	/* Die for now... */
+}
+
+void sparc64_itlb_refbit_handler (void)
+{
+	printk ("sparc64_itlb_refbit_handler\n");
+	while (1);
+	/* Die for now... */
+}
+
+void bad_trap (struct pt_regs *regs, long lvl)
+{
+	printk ("Bad trap %d (tstate %016lx tpc %016lx tnpc %016lx)\n", lvl, regs->tstate, regs->tpc, regs->tnpc);
+	while (1);
+	/* Die for now... */
+}
+
+void bad_trap_tl1 (struct pt_regs *regs, long lvl)
+{
+	printk ("Bad trap %d at tl1+ (tstate %016lx tpc %016lx tnpc %016lx)\n", lvl, regs->tstate, regs->tpc, regs->tnpc);
+	while (1);
+	/* Die for now... */
+}
+
+void data_access_exception (struct pt_regs *regs)
+{
+	printk ("Unhandled data access exception sfsr %016lx sfar %016lx\n", spitfire_get_dsfsr(), spitfire_get_sfar());
+	die_if_kernel("Data access exception", regs);
+}
+
+void instruction_access_exception (struct pt_regs *regs)
+{
+	printk ("Unhandled instruction access exception sfsr %016lx\n", spitfire_get_isfsr());
+	die_if_kernel("Instruction access exception", regs);
 }
 
 void instruction_dump (unsigned int *pc)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov