| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
« ch05: ★pmap_enter | メイン | ch05: ☆active count = usage count? »
このページのトラックバックURL:
http://www.typepad.jp/t/trackback/456/832822
このページへのトラックバック一覧 ch05: ☆☆vm_map_entry:
FreeBSDはブートプロセスに関わるところしか読んだことがないのですが。。。
vm_map_entryは、仮想アドレス空間に作成された領域のアクセスモードのマスター情報を管理します。ページテーブルのエントリを作成するときは、vm_map_entryの情報が参照されます。
なのでここで言いたいことは、物理ページを書き込み可能にしたいときは、(ページテーブルを直接書き換えるんじゃなくて)vm_map_entryを更新するんだよ、それ以外に機種非依存な方法は手段は用意されてないよってことじゃないでしょうか。
pmap_enter()は、vm_map_entryが持つアクセスモードを引数に渡されてページテーブルにエントリを登録する機種依存コードです。pmap_enter が構造体の内容を変更するんじゃなくて、その逆ですね。
投稿: sirasaki | 2005-07-25 12:41
ほほー、そういうことですか。今の訳は『ページを書き込み可能にする要求は vm_map_entry 構造体の中でのみ実現可能である』となっているけど、『ページを書き込み可能にする要求は vm_map_entry 構造体を通じてのみ実現可能である』の方がわかりやすいかな。
投稿: utashiro | 2005-07-25 13:03