斉藤です。 > > ここで問題になるのが、ソフト割り込みの処理で、細かい話は省略しますが、 > > trap.cの中で、trap()の関数の最初のところで、 > > のプログラムにより、ソフト割り込みの割り込み許可ビットを落していますから、 > > casueレジスタを使った、ソフト割り込みが入らなくなります。 > >ユーザモードに返る瞬間にソフト割り込みが許可され、発生するというものでは >ないのでしょうか。 そうであれば問題は起こらないはずで、おそらく、同時に例外が発生した場合の 優先順位の問題だと思います。割り込みより、TLB例外が優先ですから。 CPUの動きは良くわかりませんが、ERETで命令を一つ実行してから、 割り込み動作に入るのではないでしょうか。 以上、よろしくお願い致します。