KDB_STOP_NMI機能の追加

追加

# Debugging options.
options KDB_STOP_NMI
Stop CPUS using NMI instead of IPI

commit 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.
DDBへ入る場合にCPUを止める代替方法を実装しました。普通は、通常のIPIベクタを使用します。しかし、割り込みが無効にされた場合、このベクタはブロックされます。「options KDB_STOP_NMI」およびdebug.kdb.stop_cpus_with_nmiのセットで、KDBは、代わりにNMIを各CPUに送るでしょう。コードは、さらにddbが停止したCPU上で走るプロセスの状態を抽出するのを助ける、コンテキストを詰め込む*1機能を持っています。
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.
KDB_STOP_NMIはSMPのみで使用可能で、SMPが定義されない場合は抗議します。この機能は、i386amd64のみに当面当てはまりますが、適切なMDのビットを備えた他のアーキテクチャー上で使用することができます。

Submitted by
ups

$FreeBSD: src/sys/i386/conf/NOTES,v 1.1198 2005/04/30 20:00:59 dwhite Exp $
$FreeBSD: src/sys/i386/conf/NOTES,v 1.1168.2.7 2005/05/01 05:34:46 dwhite Exp $

*1:context-stuffing