From owner-cvs-all@FreeBSD.ORG Sat Apr 30 20:01:00 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A93C216A4CE; Sat, 30 Apr 2005 20:01:00 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7743B43D39; Sat, 30 Apr 2005 20:01:00 +0000 (GMT) (envelope-from dwhite@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3UK10cN086199; Sat, 30 Apr 2005 20:01:00 GMT (envelope-from dwhite@repoman.freebsd.org) Received: (from dwhite@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3UK10XF086196; Sat, 30 Apr 2005 20:01:00 GMT (envelope-from dwhite) Message-Id: <200504302001.j3UK10XF086196@repoman.freebsd.org> From: Doug White Date: Sat, 30 Apr 2005 20:01:00 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/amd64/amd64 mp_machdep.c trap.c src/sys/amd64/conf NOTES src/sys/amd64/include smp.h src/sys/conf options.amd64 options.i386 src/sys/i386/conf NOTES... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Apr 2005 20:01:00 -0000 dwhite 2005-04-30 20:01:00 UTC FreeBSD src repository Modified files: sys/amd64/amd64 mp_machdep.c trap.c sys/amd64/conf NOTES sys/amd64/include smp.h sys/conf options.amd64 options.i386 sys/i386/conf NOTES sys/i386/i386 mp_machdep.c trap.c sys/i386/include smp.h sys/kern subr_kdb.c subr_smp.c sys/sys smp.h Log: Implement an alternate method to stop CPUs when entering DDB. Normally we use a regular IPI vector, but this vector is blocked when interrupts are disabled. With "options KDB_STOP_NMI" and debug.kdb.stop_cpus_with_nmi set, KDB will send an NMI to each CPU instead. The code also has a context-stuffing feature which helps ddb extract the state of processes running on the stopped CPUs. KDB_STOP_NMI is only useful with SMP and complains if SMP is not defined. This feature only applies to i386 and amd64 at the moment, but could be used on other architectures with the appropriate MD bits. Submitted by: ups Revision Changes Path 1.253 +74 -0 src/sys/amd64/amd64/mp_machdep.c 1.284 +8 -0 src/sys/amd64/amd64/trap.c 1.34 +6 -0 src/sys/amd64/conf/NOTES 1.84 +5 -0 src/sys/amd64/include/smp.h 1.20 +3 -0 src/sys/conf/options.amd64 1.220 +3 -0 src/sys/conf/options.i386 1.1198 +5 -0 src/sys/i386/conf/NOTES 1.247 +74 -0 src/sys/i386/i386/mp_machdep.c 1.273 +8 -0 src/sys/i386/i386/trap.c 1.82 +5 -0 src/sys/i386/include/smp.h 1.11 +50 -0 src/sys/kern/subr_kdb.c 1.195 +29 -0 src/sys/kern/subr_smp.c 1.84 +4 -0 src/sys/sys/smp.h