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/

Reply via email to