freebsd-dev/share/man/man9/pmap_pinit.9
Bruce M Simpson 8019c643f1 Add manual page documentation for the machine-independent PMAP subsystem.
Include documentation of alc's new pmap_extract_and_hold() function.

Reviewed by:	hmp
Approved by:	jake (mentor)
2003-09-25 19:14:40 +00:00

87 lines
2.6 KiB
Groff

.\"
.\" Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd July 21, 2003
.Dt PMAP_PINIT 9
.Sh NAME
.Nm pmap_pinit ,
.Nm pmap_pinit0 ,
.Nm pmap_pinit2
.Nd initialize pmap structures
.Sh SYNOPSIS
.In sys/param.h
.In vm/vm.h
.In vm/pmap.h
.Ft void
.Fn pmap_pinit "pmap_t pmap"
.Ft void
.Fn pmap_pinit0 "pmap_t pm"
.Ft void
.Fn pmap_pinit2 "pmap_t pmap"
.Sh DESCRIPTION
The
.Fn pmap_pinit
function initializes the preallocated and zeroed structure
.Fa pmap ,
such as one in a
.Vt vmspace
structure.
.Pp
The
.Fn pmap_pinit0
function initializes the physical map
.Fa pm ,
associated with process 0, the first process created in the system.
.Pp
The
.Fn pmap_pinit2
function wires in kernel global address entries for the physical map
.Fa pmap ,
which must be associated with a user process.
It is called during process creation.
.Pp
To avoid a race condition between
.Fa pmap
intialization and
.Fn pmap_growkernel ,
.Fn pmap_pinit2
should be called after the vmspace
is attached to the process but before this
.Fa pmap
is activated.
.Sh IMPLEMENTATION NOTES
The
.Fn pmap_pinit2
function has been deprecated, and should be implemented as a stub
until further notice.
.Sh SEE ALSO
.Xr pmap 9 ,
.Xr pmap_growkernel 9
.Sh AUTHORS
This manual page was written by
.An Bruce M Simpson Aq bms@spc.org .