EN JA
PMAP_EXTRACT(9)
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 が返されます。

関連項目

mutex(9), pmap(9)

作者

pmap_extract_and_hold() 関数は、 Alan L. Cox <alc@imimic.com>. によって実装されました。このマニュアルページは、 Bruce M Simpson <bms@spc.org>によって書かれました。
July 21, 2003 FreeBSD