pae(4)
NAME
PAE - Physical Address Extensions
SYNOPSIS
options PAE
DESCRIPTION
- The PAE option provides support for the physical address ex
- tensions capability of the Intel Pentium Pro and above CPUs, and allows
- for up to 64
gigabytes of memory to be used in systems capable of sup - porting it. With
the PAE option, memory above 4 gigabytes is simply added to - the general
page pool. The system makes no distinction between memory - above or below
4 gigabytes, and no specific facility is provided for a pro - cess or the
kernel to access more memory than they would otherwise be - able to access,
through a sliding window or otherwise.
SEE ALSO
smp(4), tuning(7), config(8), bus_dma(9)
HISTORY
- The PAE option first appeared in FreeBSD 4.9 and FreeBSD
- 5.1.
AUTHORS
Jake Burkholder <jake@FreeBSD.org>
BUGS
- Since KLD modules are not compiled with the same options
- headers that the
kernel is compiled with, they must not be loaded into a ker - nel compiled
with the PAE option. - Many devices or their device drivers are not capable of di
- rect memory
access to physical addresses above 4 gigabytes. In order to - make use of
direct memory access IO in a system with more than 4 giga - bytes of memory
when the PAE option is used, these drivers must use a facil - ity for remapping or substituting physical memory which is not accessible
- to the
device. One such facility is provided by the busdma inter - face. Device
drivers which do not account for such devices will not work - reliably in a
system with more than 4 gigabytes of memory when the PAE op - tion is used,
and may cause data corruption. The PAE kernel configuration - file
includes the PAE option, and explicitly excludes all device - drivers which
are known to not work or have not been tested in a system - with the PAE
option and more than 4 gigabytes of memory. - Many parameters which determine how memory is used in the
- kernel are
based on the amount of physical memory. The formulas used - to determine
the values of these parameters for specific memory configu - rations may not
take into account the fact there may be more than 4 giga - bytes of memory,
and may not scale well to these memory configurations. In - particular, it
may be necessary to increase the amount of virtual address - space available to the kernel, or to reduce the amount of a specific
- resource that
is heavily used, in order to avoid running out of virtual - address space.
The KVA_PAGES option may be used to increase the kernel vir - tual address
space, and the kern.maxvnodes sysctl(8) may be used to de - crease the number of vnodes allowed, an example of a resource that the
- kernel is likely
to overallocate in large memory configurations. For optimal - performance
and stability it may be necessary to consult the tuning(7) - manual page,
and make adjustments to the parameters documented there. - BSD April 8, 2003