PAE(4) FreeBSD/i386 Kernel Interfaces Manual PAE(4) NNAAMMEE PPAAEE SSYYNNOOPPSSIISS ooppttiioonnss PPAAEE DDEESSCCRRIIPPTTIIOONN The PPAAEE option provides support for the physical address extensions capa- bility of the Intel Pentium Pro and above CPUs, and allows for up to 64 gigabytes of memory to be used in systems capable of supporting it. With the PPAAEE 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 for a process or the kernel to access more memory than they would otherwise be able to access, through a sliding window or otherwise. SSEEEE AALLSSOO smp(4) tuning(7) HHIISSTTOORRYY The PPAAEE option first appeared in FreeBSD 5.1. AAUUTTHHOORRSS Jake Burkholder BBUUGGSS Since kld modules are not compiled with the same options headers that the kernel is compiled with, they must not be loaded into a kernel compiled with the PPAAEE option. Many devices or their device drivers are not capable of direct 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 gigabytes of memory when the PPAAEE option is used, these drivers must use a facility for remap- ping or substituting physical memory which is not accessible to the device. One such facility is provided by the bbuussddmmaa interface. Device drivers which do not make affordances for such devices will not work reliably in a system with more than 4 gigabytes of memory when the PPAAEE option is used, and may cause data corruption. The PPAAEE kernel configura- tion file includes the PPAAEE option, and explicitly excludes all device drivers which are known to not work or have not been tested in a system with the PPAAEE 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 paramters for specific memory configurations may not take into account the fact there may be more than 4 gigabytes 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 avail- able 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 KKVVAA__PPAAGGEESS option may be used to increase the kernel virtual address space, and the kkeerrnn..mmaaxxvvnnooddeess sysctl may be used to decrease 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. Do not taunt Happy Fun PPAAEE. FreeBSD 5.0 April 8, 2003 FreeBSD 5.0