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.Nm 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.Nm 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.Sh HISTORY 63The 64.Nm 65option first appeared in 66.Fx 5.1 . 67.Sh AUTHORS 68.An Jake Burkholder Aq jake@FreeBSD.org 69.Sh BUGS 70Since kld modules are not compiled with the same options headers that 71the kernel is compiled with, 72they must not be loaded into a kernel compiled with the 73.Nm 74option. 75.Pp 76Many devices or their device drivers are not capable of direct memory access 77to physical addresses above 4 gigabytes. 78In order to make use of direct memory access IO in a system with more than 794 gigabytes of memory when the 80.Nm 81option is used, 82these drivers must use a facility for remapping or substituting physical 83memory which is not accessible to the device. 84One such facility is provided by the 85.Nm busdma 86interface. 87Device drivers which do not account for such devices will not work reliably 88in a system with more than 4 gigabytes of memory when the 89.Nm 90option is used, 91and may cause data corruption. 92The 93.Nm 94kernel configuration file includes the 95.Nm 96option, and explicitly excludes all device drivers which are known to not work 97or have not been tested in a system with the 98.Nm 99option and more than 4 gigabytes of memory. 100.Pp 101Many parameters which determine how memory is used in the kernel are based on 102the amount of physical memory. 103The formulas used to determine the values of these paramters for specific 104memory configurations may not take into account the fact there may be more 105than 4 gigabytes of memory, and may not scale well to these memory 106configurations. 107In particular, 108it may be necessary to increase the amount of virtual address space available 109to the kernel, 110or to reduce the amount of a specific resource that is heavily used, 111in order to avoid running out of virtual address space. 112The 113.Nm KVA_PAGES 114option may be used to increase the kernel virtual address space, 115and the 116.Nm kern.maxvnodes 117sysctl may be used to decrease the number of vnodes allowed, 118an example of a resource that the kernel is likely to overallocate in 119large memory configurations. 120For optimal performance and stability it may be necessary to consult the 121.Xr tuning 7 122manual page, and make adjustments to the parameters documented there. 123