Recently I have been tackling the other side of the bootloader picture what should we pass to the kernel in an ELF image. And how should the kernel handle bios calls etc.
As it turns out firmware/BIOS's generally do not get clobbered by a running kernel. So after a kexec I can still to 16 bit BIOS calls after resetting the idt & gdt. LinuxBIOS vanishes but as it never provided any callbacks that isn't a big deal. So the plan, and some one scream if they think it is ludicrous is to move the 16 bit bios calls inside the linux kernel so that it can drop back from 32 bit mode and make them. >From linuxBIOS we will pass a flag that says we have no BIOS, so the kernel won't even try. The basic idea is that making BIOS/firmware calls only once looks fragile, especially if you still have firmware you can go back and call. Additionally I really like the idea of a kernel that can boot either with linuxBIOS or under the normal BIOS. The last test I need to do is to verify that this technique works with under loadlin, from win9X, and I have a strong place to start arguing for the changes needed to natively support ELF booting, in the linux kernel. Eric
