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

名称

vm_map_findspaceマップ中で空きの領域を見つけます

書式

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

int
vm_map_findspace( vm_map_t map, vm_offset_t start, vm_size_t length, vm_offset_t *addr);

解説

vm_map_findspace() 関数は、アドレス addr でオブジェクトサイズ lengthmap 中の十分な空間でリージョン (領域) を見つけることを試みます。

実装に関する注

この関数を呼び出す前に vm_map_lock(9) を使用して map のロックを取得することは呼び出し側の責任です。

不十分な空間が kernel_map に残っているなら、マッピングがカーネルアドレス空間で行われる場合かつその場合に限り、このルーチンは、カーネルのアドレス空間を育てるために pmap_growkernel(9) と呼び出します。

戻り値

vm_map_findspace() 関数は成功すれば、値 0 を返し、 *addr は見つかったリージョン (領域) 中の最初の仮想アドレスを含みます。そうでなければ、値 1 が返されます。

作者

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