PMAP(9) | FreeBSD Kernel Developer's Manual | PMAP(9) |
名称
pmap — 仮想記憶サブシステムのマシン依存部分解説
pmap モジュールは FreeBSD VM (Virtual Memory (仮想記憶)) サブシステムのマシン依存部分です。ここで文書化された各関数はそれ自体のアーキテクチャ依存の実装を持たなければなりません。pmap モジュールはページテーブル、アドレスマップ、TLB などのハードウェア依存のオブジェクトを管理する責任があります。
マシン依存のコードはヘッダファイル < machine/pmap.h> を用意しなければなりません。このファイルは次のような pmap 構造体の定義を含んでいます:
struct pmap { /* pmap 実装によって定義された内容。*/ }; typedef struct pmap *pmap_t;
また、このヘッダファイルは pmap 実装によって使用される他のデータ構造体を定義できます。
ヘッダファイル < vm/pmap.h> は pmap 統計 (下記参照) を追跡するための構造体を定義します。この構造体は次のように定義されます:
struct pmap_statistics { long resident_count; /* マップされたページの数 */ long wired_count; /* wired ページの数 */ };
実装の struct pmap は、この構造に名前 pm_stats を持つこの構造体のインスタンスを含まなければなりません。そして、それぞれ関連がある pmap 操作の後に実装によって更新されなければなりません。
関連項目
pmap(9), pmap_activate(9), pmap_change_wiring(9), pmap_clear_modify(9), pmap_clear_reference(9), pmap_copy(9), pmap_copy_page(9), pmap_enter(9), pmap_extract(9), pmap_extract_and_hold(9), pmap_growkernel(9), pmap_init(9), pmap_init2(9), pmap_is_modified(9), pmap_is_prefaultable(9), pmap_map(9), pmap_mincore(9), pmap_object_init_pt(9), pmap_page_exists_quick(9), pmap_page_init(9), pmap_page_protect(9), pmap_pinit(9), pmap_pinit0(9), pmap_pinit2(9), pmap_protect(9), pmap_qenter(9), pmap_qremove(9), pmap_release(9), pmap_remove(9), pmap_remove_all(9), pmap_remove_pages(9), pmap_resident_count(9), pmap_ts_modified(9), pmap_wired_count(9), pmap_zero_area(9), pmap_zero_idle(9), pmap_zero_page(9), vm_map(9)作者
このマニュアルページは <bms@spc.org>によって書かれました。July 21, 2003 | FreeBSD |