@@ -1,4 +1,4 @@
-/* $NetBSD: db_trace.c,v 1.58 2018/02/28 20:11:09 mrg Exp $ */
+/* $NetBSD: db_trace.c,v 1.59 2020/07/06 08:30:10 rin Exp $ */
/* $OpenBSD: db_trace.c,v 1.3 1997/03/21 02:10:48 niklas Exp $ */
/*
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.58 2018/02/28 20:11:09 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.59 2020/07/06 08:30:10 rin Exp $");
#include "opt_ppcarch.h"
@@ -213,7 +213,9 @@
tf->tf_dar);
#endif
#ifdef PPC_IBM4XX
- (*pr)("DSI %s trap @ %#x by ",
+ trapstr = "DSI";
+dsi:
+ (*pr)("%s %s trap @ %#x by ", trapstr,
tf->tf_esr & ESR_DST ? "write" : "read",
tf->tf_dear);
#endif
@@ -241,7 +243,11 @@
case EXC_PERF: trapstr = "PERF"; break;
case EXC_SMI: trapstr = "SMI"; break;
case EXC_RST: trapstr = "RST"; break;
- case EXC_DTMISS: trapstr = "DTMISS"; break;
+ case EXC_DTMISS: trapstr = "DTMISS";
+#ifdef PPC_IBM4XX
+ goto dsi;
+#endif
+ break;
case EXC_ITMISS: trapstr = "ITMISS"; break;
case EXC_FIT: trapstr = "FIT"; break;
case EXC_PIT: trapstr = "PIT"; break;
@@ -278,7 +284,8 @@
#endif /* PPC_OEA601 */
#endif /* PPC_OEA */
#ifdef PPC_IBM4XX
- if (tf->tf_exc == EXC_DSI)
+ if (tf->tf_exc == EXC_DSI ||
+ tf->tf_exc == EXC_DTMISS)
(*pr)(" dear=%#x", tf->tf_dear);
(*pr)(" esr=%#x pid=%#x", tf->tf_esr, tf->tf_pid);
#endif