Re: bzImage ~ 900K with i386 test11-pre2

Eric W. Biederman
2000-11-12T13:23:16Z

Andrea Arcangeli <andrea@suse.de> 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