Messages in this thread |  | | Subject | Re: bzImage ~ 900K with i386 test11-pre2 | From | (Eric W. Biederman) | Date | 12 Nov 2000 06:14:36 -0700 |
| |
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |