Mac OS Xのカーネル Xnuのメモ書き

pmap


Rev.2を表示中。最新版はこちら

ページング(i386の場合)


カーネルのアドレスマップ
kernel_pmap-----+
struct pmap     |
+-----------+<--+
| dirbase   |
| pdirbase  |---> PageDirectry (この物理アドレスをcr3へ設定)
|           |
+-----------+


pv_entry_t pv_head_table
struct pv_entry      |
+-------+<-----------+
| next  |
| pmap  | kernel_pmap
| va    | VM_MIN_KERNEL_ADDRESS
+-------+
|       |
|       | kernel_pmap
|       | VM_MIN_KERNEL_ADDRESS+PAGE_SIZE
+-------+
    :
+-------+ avail_start(カーネルのページテーブル後の入手可能なページ)
|       |
|       |
|       |
+-------+
    :
+-------+ avail_end(最後のページ)
|       | <-- ページ数分存在
|       |
|       |
+-------+


[関連関数]
pmap_init()

i386_vm_init()

最終更新 2006/05/27 20:27:10 - kztomita
(2006/03/27 13:06:55 作成)
添付ファイル
pmap2.png - kztomita
pmap.png - kztomita
pv_entry.png - kztomita


最近更新したページ