From bdb44bfe49955dfd87c9641d074a7b515046e8fe Mon Sep 17 00:00:00 2001 From: Ivan Voras Date: Thu, 10 Jul 2008 18:55:30 +0000 Subject: [PATCH] Connect and cross-reference FAQ items dealing with memory on i386 and PAE. Approved by: gnn (mentor) Reviewed by: hrs Suggested by: pgj --- en_US.ISO8859-1/books/faq/book.sgml | 42 ++++++++++++++++++----------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/en_US.ISO8859-1/books/faq/book.sgml b/en_US.ISO8859-1/books/faq/book.sgml index 1e93ee2221..7d5108c4d9 100644 --- a/en_US.ISO8859-1/books/faq/book.sgml +++ b/en_US.ISO8859-1/books/faq/book.sgml @@ -1917,12 +1917,12 @@ - The limit is 4 GB on a standard &i386; install, + Memory limits depend on the platform used. On a standard + &i386; install, the limit is 4 GB but more memory can be - supported through &man.pae.4;. This does require a kernel - recompile, with an extra option to enable PAE: - - options PAE + supported through &man.pae.4;. See + instructions + for using 4 GB or more memory on &i386;. &os;/pc98 has a limit of 4 GB memory, and PAE can not be used with it. Other architectures @@ -2158,6 +2158,17 @@ (see &man.kld.4;) are not supported. This means all drivers must be compiled into the kernel. + The most common way to enable PAE is to build a new kernel with + the special ready-provided kernel configuration file called PAE, + which is already configured to build a safe kernel. Note that some entries in + this kernel configuration file are too conservative and some drivers marked + as unready to be used with PAE are actually usable. A rule of thumb is that + if the driver is usable on 64-bit architectures (like AMD64), it is also + usable with PAE. If you wish to create your own kernel configuration file, + you can enable PAE by adding the following line to your configuration: + + options PAE + PAE is not much used nowadays because most new x86 hardware also supports running in 64-bit mode, known as AMD64 or &intel; 64. It has a much larger @@ -2884,17 +2895,17 @@ bindkey ^[[3~ delete-char # for xterm - Why is &os; finding the wrong amount of memory? + Why is &os; finding the wrong amount of memory on &i386; hardware? - The reason is the difference between physical memory addresses - and virtual addresses. + The most likely reason is the difference between physical + memory addresses and virtual addresses. The convention for most PC hardware is to use the memory area between 3.5 GB and 4 GB for a special purpose (usually for PCI). This address space is used to access PCI hardware. As a result real, - physical memory can not appear in that address space. + physical memory can not be accessed by that address space. What happens to the memory that should appear in that location is dependent on your hardware. Unfortunately, some hardware does @@ -2908,15 +2919,16 @@ bindkey ^[[3~ delete-char # for xterm On a 32 bit version of &os;, the memory appears lost, since it will be remapped above 4 GB, which a 32 bit kernel is unable to access. In this case, the solution is to build a PAE enabled - kernel. See this FAQ entry - for more information. + kernel. See the entry on memory limits + and about different memory + limits on different platforms for more information. - On a 64 bit version of &os;, or when running a PAE-enabled + On a 64-bit version of &os;, or when running a PAE-enabled kernel, &os; will correctly detect and remap the memory so it is usable. During boot, however, it may seem as if &os; is detecting - more memory than the system really has. This is normal and the - available memory will be corrected as the boot process - completes. + more memory than the system really has, due to the described remapping. + This is normal and the available memory will be corrected as + the boot process completes.