cvs commit: src/sys/kern subr_kdb.c subr_smp.c 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 options.pc98 src/sys/i386/conf NOTES src/sys/i386/i386 mp_machdep.c trap.c ...

John Baldwin jhb at
Mon Oct 24 14:04:20 PDT 2005

jhb         2005-10-24 21:04:19 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             subr_kdb.c subr_smp.c 
    sys/amd64/amd64      mp_machdep.c trap.c 
    sys/amd64/conf       NOTES 
    sys/amd64/include    smp.h 
    sys/conf             options.amd64 options.i386 options.pc98 
    sys/i386/conf        NOTES 
    sys/i386/i386        mp_machdep.c trap.c 
    sys/i386/include     smp.h 
    sys/pc98/conf        NOTES 
    sys/sys              smp.h 
  Rename the KDB_STOP_NMI kernel option to STOP_NMI and make it apply to all
  - Change the i386 and amd64 MD IPI code to send an NMI if STOP_NMI is
    enabled if an attempt is made to send an IPI_STOP IPI.  If the kernel
    option is enabled, there is also a sysctl to change the behavior at
    runtime (debug.stop_cpus_with_nmi which defaults to enabled).  This
    includes removing stop_cpus_nmi() and making ipi_nmi_selected() a
    private function for i386 and amd64.
  - Fix ipi_all(), ipi_all_but_self(), and ipi_self() on i386 and amd64 to
    properly handle bitmapped IPIs as well as IPI_STOP IPIs when STOP_NMI is
  - Fix ipi_nmi_handler() to execute the restart function on the first CPU
    that is restarted making use of atomic_readandclear() rather than
    assuming that the BSP is always included in the set of restarted CPUs.
    Also, the NMI handler didn't clear the function pointer meaning that
    subsequent stop and restarts could execute the function again.
  - Define a new macro HAVE_STOPPEDPCBS on i386 and amd64 to control the use
    of stoppedpcbs[] and always enable it for i386 and amd64 instead of
    being dependent on KDB_STOP_NMI.  It works fine in both the NMI and
    non-NMI cases.
  Revision  Changes    Path
  1.264     +47 -12    src/sys/amd64/amd64/mp_machdep.c
  1.296     +3 -3      src/sys/amd64/amd64/trap.c
  1.46      +1 -1      src/sys/amd64/conf/NOTES
  1.85      +2 -3      src/sys/amd64/include/smp.h
  1.22      +1 -1      src/sys/conf/options.amd64
  1.226     +1 -1      src/sys/conf/options.i386
  1.190     +1 -1      src/sys/conf/options.pc98
  1.1209    +1 -1      src/sys/i386/conf/NOTES
  1.256     +44 -9     src/sys/i386/i386/mp_machdep.c
  1.283     +3 -3      src/sys/i386/i386/trap.c
  1.83      +2 -3      src/sys/i386/include/smp.h
  1.15      +8 -35     src/sys/kern/subr_kdb.c
  1.197     +0 -32     src/sys/kern/subr_smp.c
  1.65      +1 -1      src/sys/pc98/conf/NOTES
  1.85      +0 -3      src/sys/sys/smp.h

More information about the cvs-src mailing list