Hello. Here is a version 0.0 of efiemu patch. First couple of words about how efi works first efi works in boot services mode then booter calls EfiExitBootServices after 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_pnvram efiemu_acpi [-x ] efiemu_prepare linux_efiemu initrd_efiemu 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