Where is the i686 kernel

Kreg Schlosser liberaltugboat at gmail.com
Wed May 25 20:23:41 UTC 2005

To compile everything down to one line:
Use a kernel that is compiled for your processor

On 5/25/05, James Wilkinson <ubuntu at westexe.demon.co.uk> wrote:
> Kreg Schlosser wrote:
> > umm this has nothing to do with the memory addressing limit of a 32
> > bit processor
> Hmm. Yes, and no. I oversimplified. Sorry. There are *two* architectural
> limits of a 386. There's the physical memory limit of either 16 MB or 4
> GB, which isn't an issue, and the virtual address space of 4 GB, which
> is. See http://www.intel.com/design/intarch/intel386/.
> Virtual memory is a logical abstraction, physical memory can be
> drop-kicked.
> The 1 GB limit (including shared PCI memory) is a kernel optimisation.
> By artificially limiting the kernel to 1 GB, the kernel can turn on the
> optimisations I described. But this is trying to work around the limited
> virtual address space on a 32 bit processor. 64 bit processors, which
> have a massive virtual address space, can have these optimisations on
> all the time.
> It is theoretically possible to equip a 386 with 1 GB of memory[1], and
> this would run into the same problems.
> There is a kernel setting that allows for more memory than 1 GB[2]: it
> turns off certain optimisations. It is independent of the processor
> support level (this allows for generic kernels that can access up to
> 4 GB of memory).
> The URL you included:
> > http://www.ubuntulinux.org/support/documentation/faq/helpcenterfaq.2004-09-21.1496455883/view?searchterm=RAM
> does not contradict what I wrote.
> Hope this helps,
> James.
> [1] My apologies to all my readers who keeled over at the thought of
> such an abomination...
> [2] HIGHMEM4G: /usr/src/linux/arch/i386/Kconfig includes these lines
> that describe the situation:
>           Linux can use up to 64 Gigabytes of physical memory on x86 systems.
>           However, the address space of 32-bit x86 processors is only 4
>           Gigabytes large. That means that, if you have a large amount of
>           physical memory, not all of it can be "permanently mapped" by the
>           kernel. The physical memory that's not permanently mapped is called
>           "high memory".
>           If you are compiling a kernel which will never run on a machine with
>           more than 1 Gigabyte total physical RAM, answer "off" here (default
>           choice and suitable for most users). This will result in a "3GB/1GB"
>           split: 3GB are mapped so that each process sees a 3GB virtual memory
>           space and the remaining part of the 4GB virtual memory space is used
>           by the kernel to permanently map as much physical memory as possible.
>           If the machine has between 1 and 4 Gigabytes physical RAM, then
>           answer "4GB" here.
> --
> E-mail address: james | Important note: when washing your brain out with
> @westexe.demon.co.uk  | nitric acid, it is important to stop *after* you've
>                       | erased the distressing images and *before* you get
>                       | the urge to install AOL. -- Jim Andrew
> --
> ubuntu-users mailing list
> ubuntu-users at lists.ubuntu.com
> http://lists.ubuntu.com/mailman/listinfo/ubuntu-users

More information about the ubuntu-users mailing list