EN JA
VM_MAP_LOOKUP(9)
VM_MAP_LOOKUP(9) FreeBSD Kernel Developer's Manual VM_MAP_LOOKUP(9)

名称

vm_map_lookup, vm_map_lookup_done与えられた仮想リージョン (領域) に裏打ちされた vm_object を検索する

書式

#include < sys/param.h>
#include < vm/vm.h>
#include < vm/vm_map.h>

int
vm_map_lookup( vm_map_t *var_map, vm_offset_t vaddr, vm_prot_t fault_type, vm_map_entry_t *out_entry, vm_object_t *object, vm_pindex_t *pindex, vm_prot_t *out_prot, boolean_t *wired);

void
vm_map_lookup_done( vm_map_t map, vm_map_entry_t entry);

解説

vm_map_lookup() 関数は、タイプ fault_type のページフォルトが起こったと仮定して、マップ var_map 中の与えられた仮想アドレス vaddr のために vm_object、ページインデックス、と保護を見つけることを試みます。

vm_map_lookup_done() がロックを解除するために呼び出されるまで、返り値は保証されます。

実装に関する注

関数 vm_map_lookup() はマップ *var_map 読み込みロックを獲得しますが、それを解除しません。呼び出し側は、このロックを解除するために vm_map_lookup_done() を呼び出すべきです。

戻り値

vm_map_lookup() 関数は、 KERN_SUCCESS を返し、ハイポセテカル (仮想, hypothetical) ページフォルトのために *object, *pindex, *out_prot*out_entry を適切に設定します。

関連項目

vm_map(9)

作者

このマニュアルページは、 Bruce M Simpson <bms@spc.org>によって書かれました。
July 19, 2003 FreeBSD