1a3034d50SVenkatesh Srinivas.\" 2a3034d50SVenkatesh Srinivas.\" Copyright (c) 2003 Bruce M Simpson <bms@spc.org> 3a3034d50SVenkatesh Srinivas.\" All rights reserved. 4a3034d50SVenkatesh Srinivas.\" 5a3034d50SVenkatesh Srinivas.\" Redistribution and use in source and binary forms, with or without 6a3034d50SVenkatesh Srinivas.\" modification, are permitted provided that the following conditions 7a3034d50SVenkatesh Srinivas.\" are met: 8a3034d50SVenkatesh Srinivas.\" 1. Redistributions of source code must retain the above copyright 9a3034d50SVenkatesh Srinivas.\" notice, this list of conditions and the following disclaimer. 10a3034d50SVenkatesh Srinivas.\" 2. Redistributions in binary form must reproduce the above copyright 11a3034d50SVenkatesh Srinivas.\" notice, this list of conditions and the following disclaimer in the 12a3034d50SVenkatesh Srinivas.\" documentation and/or other materials provided with the distribution. 13a3034d50SVenkatesh Srinivas.\" 14a3034d50SVenkatesh Srinivas.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15a3034d50SVenkatesh Srinivas.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16a3034d50SVenkatesh Srinivas.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17a3034d50SVenkatesh Srinivas.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18a3034d50SVenkatesh Srinivas.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19a3034d50SVenkatesh Srinivas.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20a3034d50SVenkatesh Srinivas.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21a3034d50SVenkatesh Srinivas.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22a3034d50SVenkatesh Srinivas.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23a3034d50SVenkatesh Srinivas.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24a3034d50SVenkatesh Srinivas.\" SUCH DAMAGE. 25a3034d50SVenkatesh Srinivas.\" 26a3034d50SVenkatesh Srinivas.\" $FreeBSD: src/share/man/man9/vm_map_findspace.9,v 1.5.22.1.4.1 2010/06/14 02:09:06 kensmith Exp $ 27a3034d50SVenkatesh Srinivas.\" 28a3034d50SVenkatesh Srinivas.Dd December 8, 2010 29a3034d50SVenkatesh Srinivas.Dt VM_MAP_FINDSPACE 9 30a3034d50SVenkatesh Srinivas.Os 31a3034d50SVenkatesh Srinivas.Sh NAME 32a3034d50SVenkatesh Srinivas.Nm vm_map_findspace 33a3034d50SVenkatesh Srinivas.Nd find a free region within a map 34a3034d50SVenkatesh Srinivas.Sh SYNOPSIS 35a3034d50SVenkatesh Srinivas.In sys/param.h 36a3034d50SVenkatesh Srinivas.In vm/vm.h 37a3034d50SVenkatesh Srinivas.In vm/vm_map.h 38a3034d50SVenkatesh Srinivas.Ft int 39a3034d50SVenkatesh Srinivas.Fo vm_map_findspace 40a3034d50SVenkatesh Srinivas.Fa "vm_map_t map" "vm_offset_t start" "vm_size_t length" "vm_size_t align" "int flags" "vm_offset_t *addr" 41a3034d50SVenkatesh Srinivas.Fc 42a3034d50SVenkatesh Srinivas.Sh DESCRIPTION 43a3034d50SVenkatesh SrinivasThe 44a3034d50SVenkatesh Srinivas.Fn vm_map_findspace 45a3034d50SVenkatesh Srinivasfunction attempts to find a region with sufficient space in the 46a3034d50SVenkatesh Srinivas.Fa map 47a3034d50SVenkatesh Srinivasfor an object of size 48a3034d50SVenkatesh Srinivas.Fa length 49a3034d50SVenkatesh Srinivasat the address 50a3034d50SVenkatesh Srinivas.Fa addr 51a3034d50SVenkatesh Srinivaswith the alignment 52a3034d50SVenkatesh Srinivas.Fa align . 53a3034d50SVenkatesh SrinivasThe flags parameter can be: 54a3034d50SVenkatesh Srinivas.Bl -tag -width ".Fa flags" 55a3034d50SVenkatesh Srinivas.It Dv MAP_STACK 56a3034d50SVenkatesh SrinivasThe space returned is for stack regions and can intersect the stack address 57a3034d50SVenkatesh Srinivasspace. 58a3034d50SVenkatesh Srinivas.El 59a3034d50SVenkatesh Srinivas.Sh IMPLEMENTATION NOTES 60a3034d50SVenkatesh SrinivasIt is the caller's responsibility to obtain a lock on the 61a3034d50SVenkatesh Srinivas.Fa map 62a3034d50SVenkatesh Srinivasbefore calling this function. 63a3034d50SVenkatesh Srinivas.Pp 64a3034d50SVenkatesh SrinivasThis routine may call 6581555332SSascha Wildner.Fn pmap_growkernel 66a3034d50SVenkatesh Srinivasto grow the kernel's address space, if and only if the mapping is being 67a3034d50SVenkatesh Srinivasmade within the kernel address space, and if insufficient space remains 68a3034d50SVenkatesh Srinivasin the 69a3034d50SVenkatesh Srinivas.Va kernel_map . 70a3034d50SVenkatesh Srinivas.Sh RETURN VALUES 71a3034d50SVenkatesh SrinivasThe 72a3034d50SVenkatesh Srinivas.Fn vm_map_findspace 73a3034d50SVenkatesh Srinivasfunction returns the value 0 if successful, and 74a3034d50SVenkatesh Srinivas.Fa *addr 75a3034d50SVenkatesh Srinivaswill contain the first virtual address in the found region; 76a3034d50SVenkatesh Srinivasotherwise, the value 1 is returned. 77a3034d50SVenkatesh Srinivas.Sh AUTHORS 78a3034d50SVenkatesh SrinivasThis manual page was written by 79*c616d378SFranco Fichtner.An Bruce M Simpson Aq Mt bms@spc.org . 80