diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-30 21:37:27 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-30 21:37:27 -0500 |
commit | 8af03e782cae1e0a0f530ddd22301cdd12cf9dc0 (patch) | |
tree | c4af13a38bd3cc1a811a37f2358491f171052070 /arch/powerpc/mm/fault.c | |
parent | 6232665040f9a23fafd9d94d4ae8d5a2dc850f65 (diff) | |
parent | 99e139126ab2e84be67969650f92eb37c12ab5cd (diff) |
Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (454 commits)
[POWERPC] Cell IOMMU fixed mapping support
[POWERPC] Split out the ioid fetching/checking logic
[POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows
[POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()
[POWERPC] Split cell_iommu_setup_hardware() into two parts
[POWERPC] Split out the logic that allocates struct iommus
[POWERPC] Allocate the hash table under 1G on cell
[POWERPC] Add set_dma_ops() to match get_dma_ops()
[POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format.
[POWERPC] 85xx: Only invalidate TLB0 and TLB1
[POWERPC] 83xx: Fix typo in mpc837x compatible entries
[POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall
[POWERPC] 83xx: rework platform Kconfig
[POWERPC] 85xx: rework platform Kconfig
[POWERPC] 86xx: Remove unused IRQ defines
[POWERPC] QE: Explicitly set address-cells and size cells for muram
[POWERPC] Convert StorCenter DTS file to /dts-v1/ format.
[POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format.
[PPC] Remove 85xx from arch/ppc
[PPC] Remove 83xx from arch/ppc
...
Diffstat (limited to 'arch/powerpc/mm/fault.c')
-rw-r--r-- | arch/powerpc/mm/fault.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 8135da06e0a4..7b2510799266 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -167,10 +167,8 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address, | |||
167 | if (notify_page_fault(regs)) | 167 | if (notify_page_fault(regs)) |
168 | return 0; | 168 | return 0; |
169 | 169 | ||
170 | if (trap == 0x300) { | 170 | if (unlikely(debugger_fault_handler(regs))) |
171 | if (debugger_fault_handler(regs)) | 171 | return 0; |
172 | return 0; | ||
173 | } | ||
174 | 172 | ||
175 | /* On a kernel SLB miss we can only check for a valid exception entry */ | 173 | /* On a kernel SLB miss we can only check for a valid exception entry */ |
176 | if (!user_mode(regs) && (address >= TASK_SIZE)) | 174 | if (!user_mode(regs) && (address >= TASK_SIZE)) |
@@ -189,7 +187,7 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address, | |||
189 | return SIGSEGV; | 187 | return SIGSEGV; |
190 | /* in_atomic() in user mode is really bad, | 188 | /* in_atomic() in user mode is really bad, |
191 | as is current->mm == NULL. */ | 189 | as is current->mm == NULL. */ |
192 | printk(KERN_EMERG "Page fault in user mode with" | 190 | printk(KERN_EMERG "Page fault in user mode with " |
193 | "in_atomic() = %d mm = %p\n", in_atomic(), mm); | 191 | "in_atomic() = %d mm = %p\n", in_atomic(), mm); |
194 | printk(KERN_EMERG "NIP = %lx MSR = %lx\n", | 192 | printk(KERN_EMERG "NIP = %lx MSR = %lx\n", |
195 | regs->nip, regs->msr); | 193 | regs->nip, regs->msr); |