xref: /openbsd-src/share/man/man9/uvm_fault.9 (revision 8f128fcd26f01987b546fbd72bcbd45022115c91)
1*8f128fcdSmpi.\"	$OpenBSD: uvm_fault.9,v 1.1 2019/12/05 15:14:28 mpi Exp $
2*8f128fcdSmpi.\"	$NetBSD: uvm.9,v 1.14 2000/06/29 06:08:44 mrg Exp $
3*8f128fcdSmpi.\"
4*8f128fcdSmpi.\" Copyright (c) 1998 Matthew R. Green
5*8f128fcdSmpi.\" All rights reserved.
6*8f128fcdSmpi.\"
7*8f128fcdSmpi.\" Redistribution and use in source and binary forms, with or without
8*8f128fcdSmpi.\" modification, are permitted provided that the following conditions
9*8f128fcdSmpi.\" are met:
10*8f128fcdSmpi.\" 1. Redistributions of source code must retain the above copyright
11*8f128fcdSmpi.\"    notice, this list of conditions and the following disclaimer.
12*8f128fcdSmpi.\" 2. Redistributions in binary form must reproduce the above copyright
13*8f128fcdSmpi.\"    notice, this list of conditions and the following disclaimer in the
14*8f128fcdSmpi.\"    documentation and/or other materials provided with the distribution.
15*8f128fcdSmpi.\"
16*8f128fcdSmpi.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17*8f128fcdSmpi.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18*8f128fcdSmpi.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19*8f128fcdSmpi.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20*8f128fcdSmpi.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21*8f128fcdSmpi.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22*8f128fcdSmpi.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23*8f128fcdSmpi.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24*8f128fcdSmpi.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*8f128fcdSmpi.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*8f128fcdSmpi.\" SUCH DAMAGE.
27*8f128fcdSmpi.\"
28*8f128fcdSmpi.Dd $Mdocdate: December 5 2019 $
29*8f128fcdSmpi.Dt UVM_FAULT 9
30*8f128fcdSmpi.Os
31*8f128fcdSmpi.Sh NAME
32*8f128fcdSmpi.Nm uvm_fault
33*8f128fcdSmpi.Nd page fault handling
34*8f128fcdSmpi.Sh SYNOPSIS
35*8f128fcdSmpi.In sys/param.h
36*8f128fcdSmpi.In uvm/uvm.h
37*8f128fcdSmpi.Ft int
38*8f128fcdSmpi.Fn uvm_fault "vm_map_t orig_map" "vaddr_t vaddr" "vm_fault_t fault_type" "vm_prot_t access_type"
39*8f128fcdSmpi.Sh DESCRIPTION
40*8f128fcdSmpiThe
41*8f128fcdSmpi.Fn uvm_fault
42*8f128fcdSmpifunction is the main entry point for faults.
43*8f128fcdSmpiIt takes
44*8f128fcdSmpi.Fa orig_map
45*8f128fcdSmpias the map the fault originated in, a
46*8f128fcdSmpi.Fa vaddr
47*8f128fcdSmpioffset into the map the fault occurred,
48*8f128fcdSmpi.Fa fault_type
49*8f128fcdSmpidescribing the type of fault, and
50*8f128fcdSmpi.Fa access_type
51*8f128fcdSmpidescribing the type of access requested.
52*8f128fcdSmpi.Fn uvm_fault
53*8f128fcdSmpireturns a standard errno.
54*8f128fcdSmpi.Sh SEE ALSO
55*8f128fcdSmpi.Xr pmap 9
56