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...
Doug White
dwhite at FreeBSD.org
Sat Apr 30 13:01:00 PDT 2005
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
More information about the cvs-src
mailing list