xref: /freebsd/share/man/man4/man4.i386/pae.4 (revision 4f8f43b06ed07e96a250855488cc531799d5b78f)
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.Dd April 8, 2003
33.Dt PAE 4 i386
34.Os
35.Sh NAME
36.Nm PAE
37.Nd Physical Address Extensions
38.Sh SYNOPSIS
39.Cd "options PAE"
40.Sh DESCRIPTION
41The
42.Dv PAE
43option provides support for the physical address extensions capability
44of the
45.Tn Intel
46.Tn Pentium Pro
47and above CPUs,
48and allows for up to 64 gigabytes of memory to be used in systems capable
49of supporting it.
50With the
51.Dv PAE
52option, memory above 4 gigabytes is simply added to the general page pool.
53The system makes no distinction between memory above or below 4 gigabytes,
54and no specific facility is provided for a process or the kernel to access
55more memory than they would otherwise be able to access, through a sliding
56window or otherwise.
57.Sh SEE ALSO
58.Xr smp 4 ,
59.Xr tuning 7 ,
60.Xr config 8 ,
61.Xr bus_dma 9
62.Sh HISTORY
63The
64.Dv PAE
65option first appeared in
66.Fx 4.9
67and
68.Fx 5.1 .
69.Sh AUTHORS
70.An Jake Burkholder Aq Mt jake@FreeBSD.org
71.Sh BUGS
72Since KLD modules are not compiled with the same options headers that
73the kernel is compiled with,
74they must not be loaded into a kernel compiled with the
75.Dv PAE
76option.
77.Pp
78Many devices or their device drivers are not capable of direct memory access
79to physical addresses above 4 gigabytes.
80In order to make use of direct memory access IO in a system with more than
814 gigabytes of memory when the
82.Dv PAE
83option is used,
84these drivers must use a facility for remapping or substituting physical
85memory which is not accessible to the device.
86One such facility is provided by the
87.Nm busdma
88interface.
89Device drivers which do not account for such devices will not work reliably
90in a system with more than 4 gigabytes of memory when the
91.Dv PAE
92option is used,
93and may cause data corruption.
94The
95.Pa PAE
96kernel configuration file includes the
97.Dv PAE
98option, and explicitly excludes all device drivers which are known to not work
99or have not been tested in a system with the
100.Dv PAE
101option and more than 4 gigabytes of memory.
102.Pp
103Many parameters which determine how memory is used in the kernel are based on
104the amount of physical memory.
105The formulas used to determine the values of these parameters for specific
106memory configurations may not take into account the fact there may be more
107than 4 gigabytes of memory, and may not scale well to these memory
108configurations.
109In particular,
110it may be necessary to increase the amount of virtual address space available
111to the kernel,
112or to reduce the amount of a specific resource that is heavily used,
113in order to avoid running out of virtual address space.
114The
115.Dv KVA_PAGES
116option may be used to increase the kernel virtual address space,
117and the
118.Va kern.maxvnodes
119.Xr sysctl 8
120may be used to decrease the number of vnodes allowed,
121an example of a resource that the kernel is likely to overallocate in
122large memory configurations.
123For optimal performance and stability it may be necessary to consult the
124.Xr tuning 7
125manual page, and make adjustments to the parameters documented there.
126