All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] efi_emu
@ 2009-02-21 19:45 phcoder
  0 siblings, 0 replies; only message in thread
From: phcoder @ 2009-02-21 19:45 UTC (permalink / raw)
  To: The development of GRUB 2

[-- Attachment #1: Type: text/plain, Size: 1385 bytes --]

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 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

[-- Attachment #2: efiemu.tgz --]
[-- Type: application/x-compressed-tar, Size: 21790 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-02-21 19:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-21 19:45 [PATCH] efi_emu phcoder

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.