Re: Why preallocate pmd in x86 32-bit PAE?
From: H. Peter Anvin
Date: Thu Nov 15 2007 - 17:44:38 EST
Linus Torvalds wrote:
IIRC, the present bit is ignored in the magic 4-entry PGD. All entries
have to be present.
This is true, although you could point a PGD to an all-zero page if you
really wanted to. You have to re-load CR3 after modifying the top-level
entries.
What earlier CPU's did was to basically load all four values into the CPU
when you loaded %cr3. There was no "three-level page table walker" at all:
it was still a two-level page table walker, there were just for magic
internal page tables that were indexed off the two high bits.
They still are. Loading CR3 in PAE really loads four registers from
memory. x86-64 is different, of course.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/