PMAP_EXTRACT(9) | FreeBSD Kernel Developer's Manual | PMAP_EXTRACT(9) |
名称
pmap_extract, pmap_extract_and_hold — 仮想アドレスを物理ページにマップする書式
#include < sys/param.h>#include < vm/vm.h>
#include < vm/pmap.h>
vm_paddr_t
pmap_extract( pmap_t pmap, vm_offset_t va);
vm_paddr_t
pmap_extract_and_hold( pmap_t pmap, vm_offset_t va, vm_prot_t prot);
解説
pmap_extract() 関数は、仮想アドレスを物理ページにマップします。ある状況において、呼び出し側は、返されたページが保持されることを保証する代わりに pmap_extract_and_hold() を使用するかもしれません。pmap_extract_and_hold() 関数は、マッピングが与えられたページ保護を許す場合にだけ、仮想アドレスを物理ページにマップして、呼び出し側によって使用のために返されたページを不可分に保持します。
実装に関する注
現在、呼び出し側によって要求されたページ保護は確認されません。戻り値
pmap_extract() 関数は、物理マップ pmap の内側の仮想アドレス va に関連している物理ページアドレスを返します。マッピングが存在していないか、または pmap パラメータが NULL であるなら、 NULL が返されます。pmap_extract_and_hold() 関数は、物理マップ pmap の内側の仮想アドレス va に関連している物理ページアドレスを返します。マッピングが存在していないなら、結果は no-op で、 NULL が返されます。
作者
pmap_extract_and_hold() 関数は、 <alc@imimic.com>. によって実装されました。このマニュアルページは、 <bms@spc.org>によって書かれました。July 21, 2003 | FreeBSD |