aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/mm')
-rw-r--r--arch/sh/mm/Makefile2
-rw-r--r--arch/sh/mm/fault-nommu.c65
2 files changed, 0 insertions, 67 deletions
diff --git a/arch/sh/mm/Makefile b/arch/sh/mm/Makefile
index 6fbca50b64b4..ee30fb44dfe1 100644
--- a/arch/sh/mm/Makefile
+++ b/arch/sh/mm/Makefile
@@ -12,8 +12,6 @@ obj-$(CONFIG_SH7705_CACHE_32KB) += cache-sh7705.o
12endif 12endif
13 13
14mmu-y := tlb-nommu.o pg-nommu.o 14mmu-y := tlb-nommu.o pg-nommu.o
15mmu-$(CONFIG_CPU_SH3) += fault-nommu.o
16mmu-$(CONFIG_CPU_SH4) += fault-nommu.o
17mmu-$(CONFIG_MMU) := fault.o clear_page.o copy_page.o tlb-flush.o \ 15mmu-$(CONFIG_MMU) := fault.o clear_page.o copy_page.o tlb-flush.o \
18 ioremap.o 16 ioremap.o
19 17
diff --git a/arch/sh/mm/fault-nommu.c b/arch/sh/mm/fault-nommu.c
deleted file mode 100644
index c7217c3f6969..000000000000
--- a/arch/sh/mm/fault-nommu.c
+++ /dev/null
@@ -1,65 +0,0 @@
1/*
2 * arch/sh/mm/fault-nommu.c
3 *
4 * Copyright (C) 2002 - 2007 Paul Mundt
5 *
6 * Based on linux/arch/sh/mm/fault.c:
7 * Copyright (C) 1999 Niibe Yutaka
8 *
9 * Released under the terms of the GNU GPL v2.0.
10 */
11#include <linux/kernel.h>
12#include <linux/mm.h>
13#include <linux/hardirq.h>
14#include <linux/kprobes.h>
15#include <linux/signal.h>
16#include <asm/system.h>
17#include <asm/ptrace.h>
18#include <asm/kgdb.h>
19
20/*
21 * This routine handles page faults. It determines the address,
22 * and the problem, and then passes it off to one of the appropriate
23 * routines.
24 */
25asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
26 unsigned long writeaccess,
27 unsigned long address)
28{
29 trace_hardirqs_on();
30 local_irq_enable();
31
32#if defined(CONFIG_SH_KGDB)
33 if (kgdb_nofault && kgdb_bus_err_hook)
34 kgdb_bus_err_hook();
35#endif
36
37 /*
38 * Oops. The kernel tried to access some bad page. We'll have to
39 * terminate things with extreme prejudice.
40 *
41 */
42 if (address < PAGE_SIZE) {
43 printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference");
44 } else {
45 printk(KERN_ALERT "Unable to handle kernel paging request");
46 }
47
48 printk(" at virtual address %08lx\n", address);
49 printk(KERN_ALERT "pc = %08lx\n", regs->pc);
50
51 die("Oops", regs, writeaccess);
52 do_exit(SIGKILL);
53}
54
55asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
56 unsigned long writeaccess,
57 unsigned long address)
58{
59#if defined(CONFIG_SH_KGDB)
60 if (kgdb_nofault && kgdb_bus_err_hook)
61 kgdb_bus_err_hook();
62#endif
63
64 return (address >= TASK_SIZE);
65}