On Tue, 22 Jun 2004 14:54:43 -0700, 
keith <[EMAIL PROTECTED]> wrote:
>linux 2.6.7-bk4 
>kdb-v4.4-2.6.7-common-1
>kdb-v4.4-2.6.7-i386-1
>
>My issue is as follows...
>  If I don't enable kdb everything works fine.  When I enable and boot
>with KDB I fall into kdb when I bring the secondary cpus online.  KDB
>claims it was entered via an NMI.  Without kdb there are no nmis being
>registered by the system.  

This debug patch should get you up and running, and tell you where the
nmi is coming from.  Untested.

Index: linux/arch/i386/kernel/traps.c
===================================================================
--- linux.orig/arch/i386/kernel/traps.c Mon Jun 21 11:44:58 2004
+++ linux/arch/i386/kernel/traps.c      Wed Jun 23 08:37:29 2004
@@ -508,7 +508,9 @@ static void unknown_nmi_error(unsigned c
        }
 #endif
 #ifdef CONFIG_KDB
-       (void)kdb(KDB_REASON_NMI, reason, regs);
+       // (void)kdb(KDB_REASON_NMI, reason, regs);
+       kdb_printf("unknown_nmi_error entered, reason %d, cpu %d\n",
+               reason, smp_processor_id());
 #endif /* CONFIG_KDB */
        printk("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
                reason, smp_processor_id());
@@ -533,8 +535,16 @@ static void default_do_nmi(struct pt_reg
         * Call the kernel debugger to see if this NMI is due
         * to an KDB requested IPI.  If so, kdb will handle it.
         */
-       if (kdb_ipi(regs, do_ack_apic_irq)) {
-               return;
+       // if (kdb_ipi(regs, do_ack_apic_irq)) {
+       //      return;
+       // }
+       {
+               static int limit = 5;
+               if (limit) {
+                       kdb_printf("default_do_nmi entered, reason %d, cpu %d\n",
+                               reason, smp_processor_id());
+                       --limit;
+               }
        }
 #endif /* defined(CONFIG_SMP) && defined(CONFIG_KDB) */
 

---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.

Reply via email to