tarosukeの日記: [utalos] みぃつけた@SIREN2
日記 by
tarosuke
...いや、SIREN2は関係ないが。
ユーザモードに入ると即死するのはページディレクトリの方がカーネルモードになってたのが原因。そして、ユーザモードからシステムコールを発行すると死ぬのはTSSのSS0/ESP0を設定していなかったのが原因。IRETは普通はTSSに保存してくれないのね。
あと、やっぱりこれはカーネルスタック要らないかも。と思わせるモノがある。全部ユーザタスクなら要らないかもな。つまり、TSSに最初の一つだけを割り当てておいて、システムコールを受けたらTSSに新しいスタックを設定する...でもIA32に特化し過ぎな気がするのと、割り込みと絡むと意外にめんどくさい気がするぞ?
[utalos] みぃつけた@SIREN2 More ログイン