diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 13:01:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 13:01:28 -0500 |
commit | 0cf975e16927fd70f34cee20d3856246c13bb4c8 (patch) | |
tree | bb955d50f28e5d98c198701798c8341d9763299a /arch/cris/arch-v10/mm/fault.c | |
parent | 03054de1e0b90b33e9974107d84dabd2509f5898 (diff) | |
parent | bc10ac3f2fe44e65f787d6197fd5d17304bf7d83 (diff) |
Merge branch 'cris' of git://www.jni.nu/cris
* 'cris' of git://www.jni.nu/cris: (158 commits)
CRIS v32: Remove hwregs/timer_defs.h, it is now architecture specific.
CRIS v32: Change drivers/i2c.c locking.
CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup.
CRIS: Add new timerfd syscall entries.
MAINTAINERS: Add my information for the CRIS port.
CRIS v32: Correct spelling of bandwidth in function name.
CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS.
CRIS v10: Cleanup of drivers/gpio.c
CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash.
CRIS: Make io_pwm_set_period members unsigned in etraxgpio.h
CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file.
CRIS: Drop regs parameter from call to profile_tick in kernel/time.c
CRIS v32: Fix minor formatting issue in mach-a3/io.c
CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S
CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory.
CRIS v32: Minor changes to avoid errors in asm-cris/arch-v32/hwregs/reg_rdwr.h
CRIS v32: arch-v32/hwregs/intr_vect_defs.h moved to machine dependent directory.
CRIS v32: Correct offset for TASK_pid in asm-cris/arch-v32/offset.h
CRIS v32: Move register map header to machine dependent directory.
CRIS v32: Let compiler know that memory is clobbered after a break op.
...
Diffstat (limited to 'arch/cris/arch-v10/mm/fault.c')
-rw-r--r-- | arch/cris/arch-v10/mm/fault.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/cris/arch-v10/mm/fault.c b/arch/cris/arch-v10/mm/fault.c index fe2615022b97..65504fd80928 100644 --- a/arch/cris/arch-v10/mm/fault.c +++ b/arch/cris/arch-v10/mm/fault.c | |||
@@ -4,10 +4,10 @@ | |||
4 | * Low level bus fault handler | 4 | * Low level bus fault handler |
5 | * | 5 | * |
6 | * | 6 | * |
7 | * Copyright (C) 2000, 2001 Axis Communications AB | 7 | * Copyright (C) 2000-2007 Axis Communications AB |
8 | * | ||
9 | * Authors: Bjorn Wesen | ||
8 | * | 10 | * |
9 | * Authors: Bjorn Wesen | ||
10 | * | ||
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
@@ -60,7 +60,7 @@ handle_mmu_bus_fault(struct pt_regs *regs) | |||
60 | #ifdef DEBUG | 60 | #ifdef DEBUG |
61 | page_id = IO_EXTRACT(R_MMU_CAUSE, page_id, cause); | 61 | page_id = IO_EXTRACT(R_MMU_CAUSE, page_id, cause); |
62 | acc = IO_EXTRACT(R_MMU_CAUSE, acc_excp, cause); | 62 | acc = IO_EXTRACT(R_MMU_CAUSE, acc_excp, cause); |
63 | inv = IO_EXTRACT(R_MMU_CAUSE, inv_excp, cause); | 63 | inv = IO_EXTRACT(R_MMU_CAUSE, inv_excp, cause); |
64 | index = IO_EXTRACT(R_TLB_SELECT, index, select); | 64 | index = IO_EXTRACT(R_TLB_SELECT, index, select); |
65 | #endif | 65 | #endif |
66 | miss = IO_EXTRACT(R_MMU_CAUSE, miss_excp, cause); | 66 | miss = IO_EXTRACT(R_MMU_CAUSE, miss_excp, cause); |
@@ -84,12 +84,13 @@ handle_mmu_bus_fault(struct pt_regs *regs) | |||
84 | local_irq_disable(); | 84 | local_irq_disable(); |
85 | pmd = (pmd_t *)(pgd + pgd_index(address)); | 85 | pmd = (pmd_t *)(pgd + pgd_index(address)); |
86 | if (pmd_none(*pmd)) | 86 | if (pmd_none(*pmd)) |
87 | return; | 87 | goto exit; |
88 | pte = *pte_offset_kernel(pmd, address); | 88 | pte = *pte_offset_kernel(pmd, address); |
89 | if (!pte_present(pte)) | 89 | if (!pte_present(pte)) |
90 | return; | 90 | goto exit; |
91 | *R_TLB_SELECT = select; | 91 | *R_TLB_SELECT = select; |
92 | *R_TLB_HI = cause; | 92 | *R_TLB_HI = cause; |
93 | *R_TLB_LO = pte_val(pte); | 93 | *R_TLB_LO = pte_val(pte); |
94 | exit: | ||
94 | local_irq_restore(flags); | 95 | local_irq_restore(flags); |
95 | } | 96 | } |