Andrea Arcangeli <[EMAIL PROTECTED]> writes:
> On Sat, Nov 11, 2000 at 12:35:46PM -0700, Eric W. Biederman wrote:
> > With respect to .bss issues we should clear it before we set up page tables.
>
> We could sure do that but that's a minor win since we still need a
> large mapping (more than 1 pagetable) for the bootmem allocator. (and we need
> at least 1 pagetable setup as ident mapping at 0x100000 for the instruction
> where we enable paging)
>
> > We also do stupid things like set segment registers before setting up
> > a GDT. Yes we set them in setup.S but it is still a stupid non-obvious
> ^^^^
> I think you meant: we set "it" (gdt_48) up.
I was thinking segment descriptors.
>
> > dependency. We we can do it in setup.S
>
> I removed that dependency in x86-64.
Maniacal cackle....
x86-64 doesn't load the segment registers at all before use.
This is BAD BAD BAD!!!!!!!
I can tell you don't have real hardware. The non obviousness
of correct operation tripped you up as well.
So while you load the gdt before you set a segment register later,
which is good the more important part was still missed.
O.k. on monday I'll dig up my patch and that clears this up.
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/