]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/man/man4/man4.i386/pae.4
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / man / man4 / man4.i386 / pae.4
1 .\"
2 .\" Copyright (c) 2003 Networks Associates Technology, Inc.
3 .\" All rights reserved.
4 .\"
5 .\" This software was developed for the FreeBSD Project by Jake Burkholder,
6 .\" Safeport Network Services, and Network Associates Laboratories, the
7 .\" Security Research Division of Network Associates, Inc. under
8 .\" DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA
9 .\" CHATS research program.
10 .\"
11 .\" Redistribution and use in source and binary forms, with or without
12 .\" modification, are permitted provided that the following conditions
13 .\" are met:
14 .\" 1. Redistributions of source code must retain the above copyright
15 .\"    notice, this list of conditions and the following disclaimer.
16 .\" 2. Redistributions in binary form must reproduce the above copyright
17 .\"    notice, this list of conditions and the following disclaimer in the
18 .\"    documentation and/or other materials provided with the distribution.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\" $FreeBSD$
33 .\"
34 .Dd April 8, 2003
35 .Dt PAE 4 i386
36 .Os
37 .Sh NAME
38 .Nm PAE
39 .Nd Physical Address Extensions
40 .Sh SYNOPSIS
41 .Cd "options PAE"
42 .Sh DESCRIPTION
43 The
44 .Dv PAE
45 option provides support for the physical address extensions capability
46 of the
47 .Tn Intel
48 .Tn Pentium Pro
49 and above CPUs,
50 and allows for up to 64 gigabytes of memory to be used in systems capable
51 of supporting it.
52 With the
53 .Dv PAE
54 option, memory above 4 gigabytes is simply added to the general page pool.
55 The system makes no distinction between memory above or below 4 gigabytes,
56 and no specific facility is provided for a process or the kernel to access
57 more memory than they would otherwise be able to access, through a sliding
58 window or otherwise.
59 .Sh SEE ALSO
60 .Xr smp 4 ,
61 .Xr tuning 7 ,
62 .Xr config 8 ,
63 .Xr bus_dma 9
64 .Sh HISTORY
65 The
66 .Dv PAE
67 option first appeared in
68 .Fx 4.9
69 and
70 .Fx 5.1 .
71 .Sh AUTHORS
72 .An Jake Burkholder Aq jake@FreeBSD.org
73 .Sh BUGS
74 Since KLD modules are not compiled with the same options headers that
75 the kernel is compiled with,
76 they must not be loaded into a kernel compiled with the
77 .Dv PAE
78 option.
79 .Pp
80 Many devices or their device drivers are not capable of direct memory access
81 to physical addresses above 4 gigabytes.
82 In order to make use of direct memory access IO in a system with more than
83 4 gigabytes of memory when the
84 .Dv PAE
85 option is used,
86 these drivers must use a facility for remapping or substituting physical
87 memory which is not accessible to the device.
88 One such facility is provided by the
89 .Nm busdma
90 interface.
91 Device drivers which do not account for such devices will not work reliably
92 in a system with more than 4 gigabytes of memory when the
93 .Dv PAE
94 option is used,
95 and may cause data corruption.
96 The
97 .Pa PAE
98 kernel configuration file includes the
99 .Dv PAE
100 option, and explicitly excludes all device drivers which are known to not work
101 or have not been tested in a system with the
102 .Dv PAE
103 option and more than 4 gigabytes of memory.
104 .Pp
105 Many parameters which determine how memory is used in the kernel are based on
106 the amount of physical memory.
107 The formulas used to determine the values of these parameters for specific
108 memory configurations may not take into account the fact there may be more
109 than 4 gigabytes of memory, and may not scale well to these memory
110 configurations.
111 In particular,
112 it may be necessary to increase the amount of virtual address space available
113 to the kernel,
114 or to reduce the amount of a specific resource that is heavily used,
115 in order to avoid running out of virtual address space.
116 The
117 .Dv KVA_PAGES
118 option may be used to increase the kernel virtual address space,
119 and the
120 .Va kern.maxvnodes
121 .Xr sysctl 8
122 may be used to decrease the number of vnodes allowed,
123 an example of a resource that the kernel is likely to overallocate in
124 large memory configurations.
125 For optimal performance and stability it may be necessary to consult the
126 .Xr tuning 7
127 manual page, and make adjustments to the parameters documented there.