Re: [PATCH] i386: For debugging, make the initial page table setupless forgiving.

From: Zachary Amsden
Date: Fri Apr 13 2007 - 18:43:39 EST


H. Peter Anvin wrote:
Zachary Amsden wrote:
H. Peter Anvin wrote:
+ /*
+ * End condition: we must map up to and including
+ * INIT_MAP_BEYOND_END bytes beyond the end of our
+ * own page tables; 0x1000 is the size of the page
+ * table were about to write, and +0x007 is the
+ * attribute bits.
+ */
+ leal (INIT_MAP_BEYOND_END+0x1000+0x007)(%edi),%ebp

hrmm? Shouldn't that still be INIT_MAP_BEYOND_END+0x0007? Seems you are mapping 4M more than you need.


4K, not 4M. This is an actual address, not an indirection.

Ok, the old code was writing the entire page table, so it was mapping up 4M more than it should have. It wasn't clear with 10b out of scope in the patch.


However, the expression is correct, because it needs to refer to the termination address *after* the current page table is written -- you can think of it as having already allocated 4K for a page table that it is about to be generated.

Correct.

Acked-by: Zachary Amsden <zach@xxxxxxxxxx>
-
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/