pensebem wrote:
64-bit Linux kernel (with EFI stub)?
Yes, and it can also be done without the stub (e.g. using GRUB).
pensebem wrote:
32-bit Linux kernel?
Works fine on 32-bit UEFI. GRUB seems to be able to boot a 32-bit Linux kernel on 64-bit UEFI, but I've never tried it.
pensebem wrote:
16-bit helloworld bootloader that only uses the BIOS functions to print to screen and halts?
If there's RAM at the appropriate addresses, yes, you could drop your code into it and make it work, though you'll have to use a bitmap framebuffer instead of VGA text mode. If there's no RAM where you need it, you could use virtual 8086 mode with paging to fix things, but that's starting to get into hypervisor territory.
pensebem wrote:
A 32-bit OS that goes to protected mode as fast as possible and never goes back to real mode?
How many assumptions about legacy hardware does this OS make? If your class 3 UEFI hardware can't meet those assumptions, you'll need a hypervisor.
pensebem wrote:
Real mode code that writes to memory hardware mapped stuff like, idk, VGA screen memory?
If you've already got a hypervisor for that 32-bit OS from earlier, you might as well use it here too, although virtual 8086 mode might also be an option depending on exactly how this code expects to interact with the hardware.