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 src/sys/i386/i386 mp_machdep.c trap.c src/sys/i386/include smp.h...

John Baldwin jhb at
Mon May 2 08:21:57 PDT 2005

On Saturday 30 April 2005 04:01 pm, Doug White wrote:
> 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

Is there any reason to not just be using the NMI for all IPI_STOP IPIs?  
Changing how ipi_foo(IPI_STOP) works would isolate the change to the MD code 
and wouldn't affect the MI interface at all.

John Baldwin <jhb at>  <><
"Power Users Use the Power to Serve"  =

More information about the cvs-all mailing list