浏览代码

Blackfin arch: Fix bug - kernel build with config kernel debugging with remote gdb fails

 Add some comment and fix duplicated VEC_EXCPT02

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Sonic Zhang 16 年之前
父节点
当前提交
27707d3e43
共有 1 个文件被更改,包括 9 次插入12 次删除
  1. 9 12
      arch/blackfin/kernel/traps.c

+ 9 - 12
arch/blackfin/kernel/traps.c

@@ -284,15 +284,6 @@ asmlinkage void trap_c(struct pt_regs *fp)
 			return;
 			return;
 		else
 		else
 			break;
 			break;
-#ifdef CONFIG_KGDB
-	case VEC_EXCPT02 :		 /* gdb connection */
-		info.si_code = TRAP_ILLTRAP;
-		sig = SIGTRAP;
-		CHK_DEBUGGER_TRAP();
-		return;
-#else
-	/* 0x02 - User Defined, Caught by default */
-#endif
 	/* 0x03 - User Defined, userspace stack overflow */
 	/* 0x03 - User Defined, userspace stack overflow */
 	case VEC_EXCPT03:
 	case VEC_EXCPT03:
 		info.si_code = SEGV_STACKFLOW;
 		info.si_code = SEGV_STACKFLOW;
@@ -300,6 +291,14 @@ asmlinkage void trap_c(struct pt_regs *fp)
 		printk(KERN_NOTICE EXC_0x03(KERN_NOTICE));
 		printk(KERN_NOTICE EXC_0x03(KERN_NOTICE));
 		CHK_DEBUGGER_TRAP_MAYBE();
 		CHK_DEBUGGER_TRAP_MAYBE();
 		break;
 		break;
+	/* 0x02 - KGDB initial connection and break signal trap */
+	case VEC_EXCPT02:
+#ifdef CONFIG_KGDB
+		info.si_code = TRAP_ILLTRAP;
+		sig = SIGTRAP;
+		CHK_DEBUGGER_TRAP();
+		return;
+#endif
 	/* 0x04 - User Defined */
 	/* 0x04 - User Defined */
 	/* 0x05 - User Defined */
 	/* 0x05 - User Defined */
 	/* 0x06 - User Defined */
 	/* 0x06 - User Defined */
@@ -312,11 +311,9 @@ asmlinkage void trap_c(struct pt_regs *fp)
 	/* 0x0D - User Defined */
 	/* 0x0D - User Defined */
 	/* 0x0E - User Defined */
 	/* 0x0E - User Defined */
 	/* 0x0F - User Defined */
 	/* 0x0F - User Defined */
-	/*
-	 * If we got here, it is most likely that someone was trying to use a
+	/* If we got here, it is most likely that someone was trying to use a
 	 * custom exception handler, and it is not actually installed properly
 	 * custom exception handler, and it is not actually installed properly
 	 */
 	 */
-	case VEC_EXCPT02:
 	case VEC_EXCPT04 ... VEC_EXCPT15:
 	case VEC_EXCPT04 ... VEC_EXCPT15:
 		info.si_code = ILL_ILLPARAOP;
 		info.si_code = ILL_ILLPARAOP;
 		sig = SIGILL;
 		sig = SIGILL;