Re: Booting a modular kernel through a multiple streams file / Making Linux multiboot capable and grub loading kernel modules at boot time.

Eric W. Biederman
2001-12-20T16:59:52Z

"H. Peter Anvin" <hpa@zytor.com> writes:

> My comment was mostly that there is a persistent myth that you can't use the x86
> firmware from protected mode. You can't, directly, but you can get the
> functionality through other means. This is hardly a new technique; in fact,
> it's very similar to the DOS extenders of old times; in fact, it's somewhat
> simpler.

Agreed. And to completely dispel the myth. Etherboot has been doing
something similar for years. It disables interrupts in 32bit mode so
it doesn't have quite as much work to do but otherwise it is pretty
much the same picture.

I finally tracked down the reason why Setup.S is run in real mode,
instead of being called from protected mode. And that is in extremely
hostile environments (like loadlin works in) loading the kernel wrecks
the firmware callbacks. So you must do your BIOS calls as a special
case before you switch to protected mode.

Eric