Messages in this thread | | | Date | Fri, 04 May 2007 10:25:30 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [RFC PATCH 3/3] boot bzImages under paravirt |
| |
Eric W. Biederman wrote: > Hmm. If we made that: > mov %cs, %eax > add $0x10, %eax > mov %eax, %ds > > That is likely even backwards compatible. If you don't mind having a fixed > offset between the code and the data segments. As I recall code and data > are not interchangeable. >
Yes, that's just bogus thinko on my part.
> I'm trying to remember the reason for the reloads. > > As I recall loadlin intercepts code32_start from head.S and so it > can do things just after we have switched to protected mode. Because > historically we didn't load the segments before this jump loadlin had > to do it. The code of loadlin appears to reload all of the segments > just like head.S does and then not touch them. > > My two bootloaders that enter the kernel at the 32bit entry point already > load the segments as well. > > Gujin looks like it loads just %es and %ds. >
We should be able to make do with that until we've got our own gdt.
> It is hard to tell with elilo what it sets up, it preserves the > descriptors from EFI, but sets up a linux boot protocol gdt. >
? But the cached descriptors are still the EFI ones?
> Since setup.S finally does the right thing in loading segment > registers. It looks to me like we need to sit down and document > the 32bit kernel interface, as it is today, and then extend > things to just replicate %ds into the other segments, and kill > any lss instructions. >
Yes.
> At the same time we are doing this it would be good to drop our > boot protocol version into an ELF note so people booting vmlinux > can discover when we have relaxed various restrictions and which > fields in the real mode data we support. >
Do you mean the have the kernel expose its max supported version for bootloaders to inspect?
J - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |