first efi works in boot services mode then booter calls EfiExitBootServicesafter it only small number of calls called efi runtime is available after then. Only these functions are emulated by this patch. This is the difference with tianocore.
Usage cases: -look how OS works in EFI environments. Debugging. Debugging ACPI-launch darwin on non-EFI machine without usage of unmaintained buggy kernel patches (I already have xnu loading, it works but I have to fix few things)
-future port of coreboot to mac without losing ability to launch Mac OS X Usage: First compile grub2 with this patch and efiemu runtime (in archive) Then on grub prompt efiemu_loadcore <efiemu runtime> efiemu_pnvram <variables file> efiemu_acpi [-x <tables to delete>] <tables to add if any> efiemu_prepare linux_efiemu <normal linux> initrd_efiemu <initrd> Soon I'll also submit xnu patch which uses efiemu on non-EFI platforms Programming note: To keep compact I use defered allocation of all objects Drawbacks and TODOs (I'm working on it but help is much appreciated): -no way to hide standard bios functions -time functions aren't implemented yet -reset function isn't implemented yet -only 32-bit is supported for now -efiemu runtime is now has to be compiled separately
Regards Vladimir 'phcoder' Serbinenko
efiemu.tgz
Description: application/compressed-tar
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel