Modify Data storage exception code to first lookout for a DABR match before
recognising a kprobe or xmon exception.

Signed-off-by: K.Prasad <pra...@linux.vnet.ibm.com>
---
 arch/powerpc/mm/fault.c                  |   14 -

Index: linux-2.6-tip.hbkpt/arch/powerpc/mm/fault.c
===================================================================
--- linux-2.6-tip.hbkpt.orig/arch/powerpc/mm/fault.c    2009-05-14 
00:17:24.000000000 +0530
+++ linux-2.6-tip.hbkpt/arch/powerpc/mm/fault.c 2009-05-14 00:58:05.000000000 
+0530
@@ -137,6 +137,12 @@
                error_code &= 0x48200000;
        else
                is_write = error_code & DSISR_ISSTORE;
+
+       if (error_code & DSISR_DABRMATCH) {
+               /* DABR match */
+               do_dabr(regs, address, error_code);
+               return 0;
+       }
 #else
        is_write = error_code & ESR_DST;
 #endif /* CONFIG_4xx || CONFIG_BOOKE */
@@ -151,14 +157,6 @@
        if (!user_mode(regs) && (address >= TASK_SIZE))
                return SIGSEGV;
 
-#if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE))
-       if (error_code & DSISR_DABRMATCH) {
-               /* DABR match */
-               do_dabr(regs, address, error_code);
-               return 0;
-       }
-#endif /* !(CONFIG_4xx || CONFIG_BOOKE)*/
-
        if (in_atomic() || mm == NULL) {
                if (!user_mode(regs))
                        return SIGSEGV;

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to