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)作者
このマニュアルページは、 <bms@spc.org>によって書かれました。July 19, 2003 | FreeBSD |