diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/mm/Makefile | 2 | ||||
-rw-r--r-- | arch/sh/mm/fault-nommu.c | 65 |
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 | |||
12 | endif | 12 | endif |
13 | 13 | ||
14 | mmu-y := tlb-nommu.o pg-nommu.o | 14 | mmu-y := tlb-nommu.o pg-nommu.o |
15 | mmu-$(CONFIG_CPU_SH3) += fault-nommu.o | ||
16 | mmu-$(CONFIG_CPU_SH4) += fault-nommu.o | ||
17 | mmu-$(CONFIG_MMU) := fault.o clear_page.o copy_page.o tlb-flush.o \ | 15 | mmu-$(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 | */ | ||
25 | asmlinkage 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 | |||
55 | asmlinkage 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 | } | ||