Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Sep 1999 01:45:43 +0200
From:      Tor.Egge@fast.no
To:        mjacob@feral.com
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: DDB && SMP?
Message-ID:  <199909242345.BAA38564@midten.fast.no>
In-Reply-To: Your message of "Fri, 24 Sep 1999 15:19:58 -0700 (PDT)"
References:  <Pine.BSF.4.05.9909241519350.4296-100000@semuta.feral.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
> 
> I just ran across this:
> 
> Debugger("isp_attach")
> Stopped at      Debugger+0x37:  movl    $0,in_Debugger
> db> cont
> whoa, other_cpus: 0x00000002, stopped_cpus: 0x00000000
> panic: stop_cpus() failed
> mp_lock = 00000002; cpuid = 0; lapic.id = 00000000
> Automatic reboot in 15 seconds - press a key on the console to abort
> 
> 
> Whuffo?

The kernel probably entered the debugger after the AP had been started
but before it accepts any interrupts.

- Tor Egge


[-- Attachment #2 --]
Index: sys/i386/i386/db_interface.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/db_interface.c,v
retrieving revision 1.46
diff -u -r1.46 db_interface.c
--- db_interface.c	1999/08/28 00:43:42	1.46
+++ db_interface.c	1999/09/24 23:43:34
@@ -167,7 +167,7 @@
 #endif /* VERBOSE_CPUSTOP_ON_DDBBREAK */
 
 	/* Restart all the CPUs we previously stopped */
-	if (stopped_cpus != other_cpus) {
+	if (stopped_cpus != other_cpus && smp_started != 0) {
 		db_printf("whoa, other_cpus: 0x%08x, stopped_cpus: 0x%08x\n",
 			  other_cpus, stopped_cpus);
 		panic("stop_cpus() failed");
Index: sys/i386/include/smp.h
===================================================================
RCS file: /home/ncvs/src/sys/i386/include/smp.h,v
retrieving revision 1.47
diff -u -r1.47 smp.h
--- smp.h	1999/08/28 00:44:25	1.47
+++ smp.h	1999/09/24 23:39:47
@@ -177,6 +177,7 @@
 /* global data in init_smp.c */
 extern int			invltlb_ok;
 extern int			smp_active;
+extern int			smp_started;
 extern volatile int		smp_idle_loops;
 
 #endif /* !LOCORE */

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909242345.BAA38564>