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