CPU例外

うじのすけさんの質問である「CPUロック中の例外」ですが、これにはいくつかの状況が考えられます。まず前提として例外はCPUロック中で発生することがあり、マスクできないという点があります。
例外を起こす原因のひとつは純粋なエラーで、カーネル内部にバグがあるような場合がこれに相当します。たとえばカーネル内部で間違った組み合わせの多重命令が実行されたり、非整列データアクセスを行った場合にこれが発生します。仮にソースが正しくても、放射線によるソフトエラーが発生すればこのような事態が発生し、例外が生起されます。この場合は復帰はまず不可能です。
復帰が可能な例外も存在します。たとえばCPLBのミスヒットによる例外は、CPLBを再設定してアクセスを保障してやれば復帰して正しく実行を続けることができます。
実際のところ、復帰可能かどうかはCPUロック状態とは無関係です。