- Skip single step if global interrupt disable bit is set.
 - Extend bernds' patch r4673 to skip single step in any interrupt entry
   that interrupts the code which is under single stepping. Bernds' patch
   only allow user space single stepping.
Singed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
         p5.l = lo(IPEND);
         p5.h = hi(IPEND);
        r6 = [p5];
+       cc = bittst(r6, 4);
+       if cc jump _bfin_return_from_exception;
        cc = bittst(r6, 5);
        if cc jump _bfin_return_from_exception;
 
        if cc jump .Ldo_single_step;
        r6 += -1;
        cc = r6 < r7;
-       if cc jump _bfin_return_from_exception;
+       if cc jump 1f;
 .Ldo_single_step:
-#endif
-
+#else
        /* If we were in user mode, do the single step normally.  */
        p5.l = lo(IPEND);
        p5.h = hi(IPEND);
        r7 = r7 & r6;
        cc = r7 == 0;
        if !cc jump 1f;
+#endif
 
        /* Single stepping only a single instruction, so clear the trace
         * bit here.  */