l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

More on i686 vs. i486


From: Jonathan S. Shapiro
Subject: More on i686 vs. i486
Date: Fri, 09 Dec 2005 13:56:49 -0500

Regrettably, there is more on this subject, and I've decided to do the
first implementation of the Coyotos kernel for i686 or higher
processors.

The issue is PAE and NX. In order to support NX (no execute), you need
to run the MMU in PAE mode. In order to run PAE mode, you need to be
running on Pentium-II or better. Even then, you need a pretty recent
processor to get NX support.

It is possible to design a single kernel that will support both, but it
adds runtime checks that are a nuisance. I don't yet know whether it is
practical to support PAE and non-PAE in the same kernel binary. I do
know that Windows does not do so. The obvious alternative would be to
simply compile *two* kernel versions into a single binary image and have
the low-level bootstrap unpack the right one, and/or have GRUB/whatever
simply load both alternatives as modules.

WHY:

   I want to make sure that NX support works, and I don't currently
   have time to do the kernel both ways myself.

   PAE has an irregular page table structure, which impacts a number
   of low-level interfaces in the HAL in various ways. I want to
   test that as well.

COMPATIBILITY:

   The only behavioral difference from the perspective of applications
   will be the presence or absence of the NX bit.

OTHER:

   My understanding is that QEMU emulates the PAE mechanisms, so this
   shouldn't be a short-term issue for people who are experimenting
   with the early kernel versions.

   IF THIS IS WRONG, PLEASE LET ME KNOW IMMEDIATELY!!!





reply via email to

[Prev in Thread] Current Thread [Next in Thread]