mdoc(7) fixes.

This commit is contained in:
ru 2004-07-06 06:53:42 +00:00
parent c7f4960c79
commit c1e28c4e1f
19 changed files with 103 additions and 64 deletions

View File

@ -41,7 +41,7 @@ subsystem is used to manage virtual address spaces.
This section describes the main data structures used within the code.
.Pp
The
.Fa struct vm_map
.Vt "struct vm_map"
is a generic representation of an address space.
This address space may belong to a user process or the kernel.
The kernel actually uses several maps, which are maintained as
@ -68,7 +68,7 @@ struct vm_map {
The fields of
.Vt struct vm_map
are as follows:
.Bl -tag -width needs_wakeupXXX
.Bl -tag -width ".Va needs_wakeup"
.It Va header
Head node of a circular, doubly linked list of
.Vt struct vm_map_entry
@ -106,7 +106,7 @@ The following flags can be passed to
and
.Xr vm_map_insert 9
to specify the copy-on-write properties of regions within the map:
.Bl -tag -width MAP_PREFAULT_MADVISEXXX
.Bl -tag -width ".Dv MAP_PREFAULT_MADVISE"
.It Dv MAP_COPY_ON_WRITE
The mapping is copy-on-write.
.It Dv MAP_NOFAULT
@ -155,7 +155,7 @@ struct vm_map_entry {
The fields of
.Vt struct vm_map_entry
are as follows:
.Bl -tag -width struct_vm_map_objectXXX
.Bl -tag -width ".Va avail_ssize"
.It Va prev
Pointer to the previous node in a doubly-linked, circular list.
.It Va next
@ -180,13 +180,13 @@ Offset within the
which is mapped from
.Va start
onwards.
.It Vt eflags
.It Va eflags
Flags applied to this entry, described below.
.El
.Pp
The following five members are only valid for entries forming part of
a user process's address space:
.Bl -tag -width struct_vm_map_objectXXX
.Bl -tag -width ".Va max_protection"
.It Va protection
Memory protection bits applied to this region.
These are identical to those defined for
@ -207,9 +207,9 @@ Contains the address of the last read which caused a page fault.
.Pp
The following flags may be applied to each entry, by specifying them
as a mask within the
.Fa eflags
.Va eflags
member:
.Bl -tag -width MAP_ENTRY_BEHAV_SEQUENTIALXXX
.Bl -tag -width ".Dv MAP_ENTRY_BEHAV_SEQUENTIAL"
.It Dv MAP_ENTRY_NOSYNC
The system should not flush the data associated with this map
periodically, but only when it needs to.
@ -245,13 +245,13 @@ The region should not be included in a core dump.
.El
.Pp
The
.Fa inheritance
.Va inheritance
member has type
.Vt vm_inherit_t .
This governs the inheritance behaviour for a map entry during fork processing.
The following values are defined for
.Vt vm_inherit_t :
.Bl -tag -width VM_INHERIT_DEFAULTXXX
.Bl -tag -width ".Dv VM_INHERIT_DEFAULT"
.It Dv VM_INHERIT_SHARE
The object associated with the entry should be cloned and shared
with the new map.

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_check_protection 9
.Dt VM_MAP_CHECK_PROTECTION 9
.Sh NAME
.Nm vm_map_check_protection
.Nd check memory protection for a vm_map
@ -35,7 +35,9 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft boolean_t
.Fn vm_map_check_protection "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_prot_t protection"
.Fo vm_map_check_protection
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_prot_t protection"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_check_protection

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_clean 9
.Dt VM_MAP_CLEAN 9
.Sh NAME
.Nm vm_map_clean
.Nd push dirty pages to their pager
@ -35,7 +35,10 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_clean "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "boolean_t syncio" "boolean_t invalidate"
.Fo vm_map_clean
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "boolean_t syncio"
.Fa "boolean_t invalidate"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_clean
@ -63,9 +66,6 @@ The
function returns
.Dv KERN_SUCCESS
if successful.
otherwise
.Dv KERN_INVALID_ARGUMENT
will be returned.
.Pp
Otherwise,
.Dv KERN_INVALID_ADDRESS
@ -75,7 +75,7 @@ will be returned if the function encountered a hole in the region provided,
or if an entry could not be found for the given start address.
.Sh IMPLEMENTATION NOTES
This routine holds the
.Dv Giant
.Va Giant
lock to prevent multiple entry.
.Sh SEE ALSO
.Xr vm_map 9

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_create 9
.Dt VM_MAP_CREATE 9
.Sh NAME
.Nm vm_map_create
.Nd create a new vm_map structure

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_delete 9
.Dt VM_MAP_DELETE 9
.Sh NAME
.Nm vm_map_delete
.Nd deallocate an address range from a map

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_find 9
.Dt VM_MAP_FIND 9
.Sh NAME
.Nm vm_map_find
.Nd find a free region within a map, and optionally map a vm_object
@ -35,7 +35,11 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_find "vm_map_t map" "vm_object_t object" "vm_ooffset_t offset" "vm_offset_t *addr" "vm_size_t length" "boolean_t find_space" "vm_prot_t prot" "vm_prot_t max" "int cow"
.Fo vm_map_find
.Fa "vm_map_t map" "vm_object_t object" "vm_ooffset_t offset"
.Fa "vm_offset_t *addr" "vm_size_t length" "boolean_t find_space"
.Fa "vm_prot_t prot" "vm_prot_t max" "int cow"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_find
@ -58,7 +62,9 @@ when creating the mapping, if and only if a free region is found.
.Pp
If
.Fa object
is non-NULL, the reference count on the object must be incremented
is
.Pf non- Dv NULL ,
the reference count on the object must be incremented
by the caller before calling this function to account for the new entry.
.Pp
If
@ -80,7 +86,7 @@ The search for a free region is defined to be first-fit, from the address
onwards.
.Sh RETURN VALUES
The
.Fn
.Fn vm_map_find
function returns
.Dv KERN_SUCCESS
if space for the mapping could be found and

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_findspace 9
.Dt VM_MAP_FINDSPACE 9
.Sh NAME
.Nm vm_map_findspace
.Nd find a free region within a map
@ -35,7 +35,9 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_findspace "vm_map_t map" "vm_offset_t start" "vm_size_t length" "vm_offset_t *addr"
.Fo vm_map_findspace
.Fa "vm_map_t map" "vm_offset_t start" "vm_size_t length" "vm_offset_t *addr"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_findspace
@ -57,7 +59,7 @@ This routine may call
to grow the kernel's address space, if and only if the mapping is being
made within the kernel address space, and if insufficient space remains
in the
.Dv kernel_map .
.Va kernel_map .
.Sh RETURN VALUES
The
.Fn vm_map_findspace

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_inherit 9
.Dt VM_MAP_INHERIT 9
.Sh NAME
.Nm vm_map_inherit
.Nd set fork inheritance flags for a range within a map
@ -35,7 +35,10 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_inherit "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_inherit_t new_inheritance"
.Fo vm_map_inherit
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end"
.Fa "vm_inherit_t new_inheritance"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_inherit
@ -59,7 +62,7 @@ This affects how the map will be shared with child maps when the
associated process forks.
.Sh IMPLEMENTATION NOTES
The
.Fn
.Fn vm_map_inherit
function obtains a lock on the
.Fa map
using

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_init 9
.Dt VM_MAP_INIT 9
.Sh NAME
.Nm vm_map_init
.Nd initialize a vm_map structure for process zero

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_insert 9
.Dt VM_MAP_INSERT 9
.Sh NAME
.Nm vm_map_insert
.Nd insert an object into a map
@ -35,7 +35,11 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_insert "vm_map_t map" "vm_object_t object" "vm_ooffset_t offset" "vm_offset_t start" "vm_offset_t end" "vm_prot_t prot" "vm_prot_t max" "int cow"
.Fo vm_map_insert
.Fa "vm_map_t map" "vm_object_t object" "vm_ooffset_t offset"
.Fa "vm_offset_t start" "vm_offset_t end" "vm_prot_t prot"
.Fa "vm_prot_t max" "int cow"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_insert
@ -65,11 +69,11 @@ argument specifies the flags which should be propagated to the new entry,
for example, to indicate that this is a copy-on-write mapping.
.Sh IMPLEMENTATION NOTES
This function implicitly creates a new
.Dv vm_map_entry
.Vt vm_map_entry
by calling the internal function
.Fn vm_map_entry_create .
This function may use the
.Dv Giant
.Va Giant
lock to ensure that only a single thread is present in the function.
.Sh RETURN VALUES
The

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_lock 9
.Dt VM_MAP_LOCK 9
.Sh NAME
.Nm vm_map_lock ,
.Nm vm_map_unlock ,

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_lookup 9
.Dt VM_MAP_LOOKUP 9
.Sh NAME
.Nm vm_map_lookup ,
.Nm vm_map_lookup_done
@ -36,14 +36,19 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_lookup "vm_map_t *var_map" "vm_offset_t vaddr" "vm_prot_t fault_type" "vm_map_entry_t *out_entry" "vm_object_t *object" "vm_pindex_t *pindex" "vm_prot_t *out_prot" "boolean_t *wired"
.Fo vm_map_lookup
.Fa "vm_map_t *var_map" "vm_offset_t vaddr" "vm_prot_t fault_type"
.Fa "vm_map_entry_t *out_entry" "vm_object_t *object" "vm_pindex_t *pindex"
.Fa "vm_prot_t *out_prot" "boolean_t *wired"
.Fc
.Ft void
.Fn vm_map_lookup_done "vm_map_t map" "vm_map_entry_t entry"
.Sh DESCRIPTION
The
.Fn vm_map_lookup
function attempts to find the
vm_object, page index and protection, for the given virtual address
.Vt vm_object ,
page index and protection, for the given virtual address
.Fa vaddr ,
in the map
.Fa var_map ,

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_madvise 9
.Dt VM_MAP_MADVISE 9
.Sh NAME
.Nm vm_map_madvise
.Nd apply advice about use of memory to map entries
@ -35,7 +35,9 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_madvise "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "int behav"
.Fo vm_map_madvise
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "int behav"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_madvise
@ -49,13 +51,13 @@ and
.Fa end .
.Pp
Advisories are classified as either those affecting the
.Dv vm_map_entry
.Vt vm_map_entry
structure, or those affecting the underlying objects.
.Pp
The
.Fn vm_map_madvise
function is used by the
.Fn madvise
.Xr madvise 2
system call.
.Sh RETURN VALUES
The

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_protect 9
.Dt VM_MAP_PROTECT 9
.Sh NAME
.Nm vm_map_protect
.Nd apply protection bits to a virtual memory region
@ -35,7 +35,10 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_protect "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_prot_t new_prot" "boolean_t set_max"
.Fo vm_map_protect
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_prot_t new_prot"
.Fa "boolean_t set_max"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_protect
@ -53,10 +56,10 @@ If
is TRUE,
.Fa new_prot
is treated as the new
.Dv max_protection
.Va max_protection
setting for each underlying entry.
Otherwise, only the
.Dv protection
.Va protection
field is affected.
.Pp
The range MUST be contiguous, and MUST NOT contain sub-maps.
@ -64,7 +67,7 @@ The range MUST be contiguous, and MUST NOT contain sub-maps.
The function acquires a lock on the
.Fa map
for the duration, by calling
.Xr vm_map_lock .
.Xr vm_map_lock 9 .
.Sh RETURN VALUES
The
.Fn vm_map_protect
@ -78,7 +81,7 @@ is returned.
If the value of
.Fa new_prot
would exceed
.Dv max_protection
.Va max_protection
for an entry within the range,
.Dv KERN_PROTECTION_FAILURE
is returned.

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_remove 9
.Dt VM_MAP_REMOVE 9
.Sh NAME
.Nm vm_map_remove
.Nd remove a virtual address range from a map

View File

@ -26,10 +26,11 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_simplify_entry 9
.Dt VM_MAP_SIMPLIFY_ENTRY 9
.Sh NAME
.Nm vm_map_simplify_entry
.Nd simplify a vm_map_entry
.Nd simplify a
.Vt vm_map_entry
.Sh SYNOPSIS
.In sys/param.h
.In vm/vm.h

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_stack 9
.Dt VM_MAP_STACK 9
.Sh NAME
.Nm vm_map_stack ,
.Nm vm_map_growstack
@ -36,12 +36,15 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_stack "vm_map_t map" "vm_offset_t addrbos" "vm_size_t max_ssize" "vm_prot_t prot" "vm_prot_t max" "int cow"
.Fo vm_map_stack
.Fa "vm_map_t map" "vm_offset_t addrbos" "vm_size_t max_ssize" "vm_prot_t prot"
.Fa "vm_prot_t max" "int cow"
.Fc
.Ft int
.Fn vm_map_growstack "struct proc *p" "vm_offset_t addr"
.Sh DESCRIPTION
The
.Fn
.Fn vm_map_stack
function maps a process stack for a new process image.
The stack is mapped
.Fa addrbos
@ -58,7 +61,7 @@ and
.Fa max .
.Pp
It is typically called by
.Xr exec 2 .
.Xr execve 2 .
.Pp
The
.Fn vm_map_growstack
@ -79,7 +82,7 @@ to create its mappings.
The
.Fn vm_map_growstack
function acquires the
.Dv Giant
.Va Giant
lock, and the process lock on
.Fa p ,
for the duration of the call.
@ -119,7 +122,7 @@ is outside the stack range; this is done in order to preserve
compatibility with the deprecated
.Fn grow
function previously located in the file
.Li vm_machdep.c .
.Pa vm_machdep.c .
.Sh SEE ALSO
.Xr vm_map 9 ,
.Xr vm_map_insert 9

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_submap 9
.Dt VM_MAP_SUBMAP 9
.Sh NAME
.Nm vm_map_submap
.Nd create a subordinate map
@ -35,7 +35,9 @@
.In vm/vm.h
.In vm/vm_map.h
.Ft int
.Fn vm_map_submap "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_map_t submap"
.Fo vm_map_submap
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_map_t submap"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_submap
@ -81,7 +83,9 @@ Otherwise, it returns
.Dv KERN_INVALID_ARGUMENT
if the caller requested copy-on-write flags,
or if the range specified for the sub-map was out of range for the parent map,
or if a NULL backing object was specified.
or if a
.Dv NULL
backing object was specified.
.Sh SEE ALSO
.Xr vm_map 9 ,
.Xr vm_map_find 9

View File

@ -26,7 +26,7 @@
.\" $FreeBSD$
.\"
.Dd July 19, 2003
.Dt vm_map_wire 9
.Dt VM_MAP_WIRE 9
.Sh NAME
.Nm vm_map_wire ,
.Nm vm_map_unwire
@ -38,7 +38,9 @@
.Ft int
.Fn vm_map_wire "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "int flags"
.Ft int
.Fn vm_map_unwire "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "int flags"
.Fo vm_map_unwire
.Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "int flags"
.Fc
.Sh DESCRIPTION
The
.Fn vm_map_wire
@ -97,7 +99,9 @@ The functions return
if all pages within the range were [un]wired successfully.
.Pp
Otherwise, if the specified range was not valid,
or if the map changed while the MAP_ENTRY_IN_TRANSITION flag was set,
or if the map changed while the
.Dv MAP_ENTRY_IN_TRANSITION
flag was set,
.Dv KERN_INVALID_ADDRESS
is returned.
.Sh SEE ALSO