Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-6]: src/sys/arch Pull up the following revisions(s) (requested by...



details:   https://anonhg.NetBSD.org/src/rev/90c9aab98744
branches:  netbsd-6
changeset: 776562:90c9aab98744
user:      sborrill <sborrill%NetBSD.org@localhost>
date:      Fri Feb 07 11:41:02 2014 +0000

description:
Pull up the following revisions(s) (requested by christos in ticket #1017):
        sys/arch/x86/include/db_machdep.h:      revision 1.4
        sys/arch/i386/i386/db_machdep.c:        revision 1.5

Fix ddb backtrace for softintr (i386).

diffstat:

 sys/arch/i386/i386/db_machdep.c   |  22 ++++++++++++++++------
 sys/arch/x86/include/db_machdep.h |   3 ++-
 2 files changed, 18 insertions(+), 7 deletions(-)

diffs (85 lines):

diff -r b912db49f52b -r 90c9aab98744 sys/arch/i386/i386/db_machdep.c
--- a/sys/arch/i386/i386/db_machdep.c   Fri Feb 07 11:33:49 2014 +0000
+++ b/sys/arch/i386/i386/db_machdep.c   Fri Feb 07 11:41:02 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: db_machdep.c,v 1.3 2011/04/14 16:05:59 yamt Exp $      */
+/*     $NetBSD: db_machdep.c,v 1.3.16.1 2014/02/07 11:41:02 sborrill Exp $     */
 
 /* 
  * Mach Operating System
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_machdep.c,v 1.3 2011/04/14 16:05:59 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_machdep.c,v 1.3.16.1 2014/02/07 11:41:02 sborrill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -148,10 +148,12 @@
                            !strncmp(name, "Xstray", 6) ||
                            !strncmp(name, "Xhold", 5) ||
                            !strncmp(name, "Xrecurse", 8) ||
-                           !strcmp(name, "Xdoreti") ||
-                           !strncmp(name, "Xsoft", 5)) {
+                           !strcmp(name, "Xdoreti")) {
                                *is_trap = INTERRUPT;
                                narg = 0;
+                       } else if (!strcmp(name, "Xsoftintr")) {
+                               *is_trap = SOFTINTR;
+                               narg = 0;
                        } else if (!strncmp(name, "Xtss_", 5)) {
                                *is_trap = INTERRUPT_TSS;
                                narg = 0;
@@ -173,10 +175,12 @@
                            !strncmp(name, "_Xstray", 7) ||
                            !strncmp(name, "_Xhold", 6) ||
                            !strncmp(name, "_Xrecurse", 9) ||
-                           !strcmp(name, "_Xdoreti") ||
-                           !strncmp(name, "_Xsoft", 6)) {
+                           !strcmp(name, "_Xdoreti")) {
                                *is_trap = INTERRUPT;
                                narg = 0;
+                       } else if (!strcmp(name, "_Xsoftintr")) {
+                               *is_trap = SOFTINTR;
+                               narg = 0;
                        } else if (!strncmp(name, "_Xtss_", 6)) {
                                *is_trap = INTERRUPT_TSS;
                                narg = 0;
@@ -253,6 +257,7 @@
            case TRAP:
            case SYSCALL:
            case INTERRUPT:
+           case SOFTINTR:
            default:
                /* The only argument to trap() or syscall() is the trapframe. */
                switch (is_trap) {
@@ -273,6 +278,11 @@
                         */
                        db_read_bytes((db_addr_t)argp, sizeof(tf), (char *)&tf);
                        break;
+               case SOFTINTR:
+                       (*pr)("--- softint ---\n");
+                       tf.tf_eip = 0;
+                       tf.tf_ebp = 0;
+                       break;
                }
                *ip = (db_addr_t)tf.tf_eip;
                fp = (struct i386_frame *)tf.tf_ebp;
diff -r b912db49f52b -r 90c9aab98744 sys/arch/x86/include/db_machdep.h
--- a/sys/arch/x86/include/db_machdep.h Fri Feb 07 11:33:49 2014 +0000
+++ b/sys/arch/x86/include/db_machdep.h Fri Feb 07 11:41:02 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: db_machdep.h,v 1.3 2011/04/30 16:58:35 christos Exp $  */
+/*     $NetBSD: db_machdep.h,v 1.3.14.1 2014/02/07 11:41:02 sborrill Exp $     */
 
 #ifndef _X86_DB_MACHDEP_H_
 #define _X86_DB_MACHDEP_H_
@@ -11,6 +11,7 @@
 #define INTERRUPT      3
 #define INTERRUPT_TSS  4
 #define TRAP_TSS       5
+#define SOFTINTR       6
 
 #define MAXNARG                16
 



Home | Main Index | Thread Index | Old Index