diff --git a/src/kernel/gdt.md b/src/kernel/gdt.md index 968983c..c13a5db 100644 --- a/src/kernel/gdt.md +++ b/src/kernel/gdt.md @@ -306,7 +306,7 @@ pub fn init() void { ``` GDTR は GDT のアドレスとサイズのみを持ちます。 -アドレスは本来であれば物理アドレスをしていするべきですが、Ymir はまだ UEFI が提供してくれたストレートマップを利用しており、 +アドレスは本来であれば物理アドレスを指定するべきですが、Ymir はまだ UEFI が提供してくれたストレートマップを利用しており、 仮想アドレスと物理アドレスが等しいです。 そのため、`&gdt` をそのまま物理アドレスとして使っています。 @@ -380,7 +380,7 @@ fn loadKernelCs() void { } ``` -`lret` はスタックに積んだ CS/RI を POP して設定してくれます。 +`lret` はスタックに積んだ CS/RIP を POP して設定してくれます。 RIP は変更させたくないため直後の `lret` の次の命令を PUSH することで、CS を設定する効果だけを得ています。 以上で GDT の更新が反映されるように成ります。