浏览代码

waterDataStatisticsCrossAssociation memoryDefinitionWaterRelatedData.c 李欣儒 commit at 2020-11-11

李欣儒 4 年之前
父节点
当前提交
d84878acbf
共有 1 个文件被更改,包括 69 次插入0 次删除
  1. 69 0
      waterDataStatisticsCrossAssociation/dataSharedMemory/memoryDefinitionWaterRelatedData.c

+ 69 - 0
waterDataStatisticsCrossAssociation/dataSharedMemory/memoryDefinitionWaterRelatedData.c

@@ -290,3 +290,72 @@ asmlinkage notrace void trap_c(struct pt_regs *fp)
 		CHK_DEBUGGER_TRAP_MAYBE();
 		break;
 #else
+	/* 0x29 - Reserved, Caught by default */
+#endif
+	/* 0x2A - Instruction fetch misaligned, handled here */
+	case VEC_MISALI_I:
+		info.si_code = BUS_ADRALN;
+		sig = SIGBUS;
+		strerror = KERN_NOTICE EXC_0x2A(KERN_NOTICE);
+		CHK_DEBUGGER_TRAP_MAYBE();
+		break;
+	/* 0x2B - Instruction CPLB protection violation, handled here */
+	case VEC_CPLB_I_VL:
+		info.si_code = ILL_CPLB_VI;
+		sig = SIGBUS;
+		strerror = KERN_NOTICE EXC_0x2B(KERN_NOTICE);
+		CHK_DEBUGGER_TRAP_MAYBE();
+		break;
+	/* 0x2C - Instruction CPLB miss, handled in _cplb_hdr */
+	case VEC_CPLB_I_M:
+		info.si_code = ILL_CPLB_MISS;
+		sig = SIGBUS;
+		strerror = KERN_NOTICE EXC_0x2C(KERN_NOTICE);
+		break;
+	/* 0x2D - Instruction CPLB Multiple Hits, handled here */
+	case VEC_CPLB_I_MHIT:
+		info.si_code = ILL_CPLB_MULHIT;
+		sig = SIGSEGV;
+#ifdef CONFIG_DEBUG_HUNT_FOR_ZERO
+		if (cpu_pda[cpu].icplb_fault_addr < FIXED_CODE_START)
+			strerror = KERN_NOTICE "Jump to NULL address\n";
+		else
+#endif
+			strerror = KERN_NOTICE EXC_0x2D(KERN_NOTICE);
+		CHK_DEBUGGER_TRAP_MAYBE();
+		break;
+	/* 0x2E - Illegal use of Supervisor Resource, handled here */
+	case VEC_ILL_RES:
+		info.si_code = ILL_PRVOPC;
+		sig = SIGILL;
+		strerror = KERN_NOTICE EXC_0x2E(KERN_NOTICE);
+		CHK_DEBUGGER_TRAP_MAYBE();
+		break;
+	/* 0x2F - Reserved, Caught by default */
+	/* 0x30 - Reserved, Caught by default */
+	/* 0x31 - Reserved, Caught by default */
+	/* 0x32 - Reserved, Caught by default */
+	/* 0x33 - Reserved, Caught by default */
+	/* 0x34 - Reserved, Caught by default */
+	/* 0x35 - Reserved, Caught by default */
+	/* 0x36 - Reserved, Caught by default */
+	/* 0x37 - Reserved, Caught by default */
+	/* 0x38 - Reserved, Caught by default */
+	/* 0x39 - Reserved, Caught by default */
+	/* 0x3A - Reserved, Caught by default */
+	/* 0x3B - Reserved, Caught by default */
+	/* 0x3C - Reserved, Caught by default */
+	/* 0x3D - Reserved, Caught by default */
+	/* 0x3E - Reserved, Caught by default */
+	/* 0x3F - Reserved, Caught by default */
+	case VEC_HWERR:
+		info.si_code = BUS_ADRALN;
+		sig = SIGBUS;
+		switch (fp->seqstat & SEQSTAT_HWERRCAUSE) {
+		/* System MMR Error */
+		case (SEQSTAT_HWERRCAUSE_SYSTEM_MMR):
+			info.si_code = BUS_ADRALN;
+			sig = SIGBUS;
+			strerror = KERN_NOTICE HWC_x2(KERN_NOTICE);
+			break;
+		/* External Memory Addressing Error */