[Top][All Lists]
[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!!!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- More on i686 vs. i486,
Jonathan S. Shapiro <=