OSをつくろうpart4
■ このスレッドは過去ログ倉庫に格納されています
0347ひげぽん
NGNGMonaでは
secondboot.asmにてGDT上に
セグメント 0x08 type=0x9a(特権レベル0,コードセグメント)
セグメント 0x10 type=0x92(特権レベル0,データセグメント)
セグメント 0x18 type=0x96(特権レベル0,スタックセグメント)
とセットしてブートしています。
ブート後sgdtを実行して
GDTの中身を表示してみると
セグメント 0x10 type=0x93(特権レベル1,データセグメント)
セグメント 0x18 type=0x97(特権レベル1,スタックセグメント)
特権レベルがデータセグメント・スタックセグメントで変更されています。
これのせいでタスクスイッチ時にfault0dが発生しているような気が
するのですが、どこでこのような状況に陥ったかが
つかめていない状況です。
どなたかアドバイスいただけないでしょうか。
よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています