-
Notifications
You must be signed in to change notification settings - Fork 0
GDT
kamaboko edited this page Feb 1, 2023
·
19 revisions
WIP
めも
lgdt命令に指定するアドレスはリニアアドレスらしい。
となると、最初にプロテクトモードに遷移するときに使ったGDTは、ページングが有効化後にも、lgdt命令でGDTRレジスタにセットしたアドレス(=仮想アドレスと解釈される)で参照できないといけない。
一度読み込まれたGDTの内容は、シャドーレジスタ(CPU内部の見えないレジスタ)にキャッシュされ、GDTが再度読み込まれるのは、セグメントレジスタが変更されるとき。
これは、割り込み(IDT)についても同じ。
→GDTを変更したら意図的にlong jump(セグメント間ジャンプ)して反映させよう