CAUTION: extreme geekiness ahead…
I’ve been attempting to build WINE on my iMac Core Duo. I’m just using the raw wine source code, although someone has Mac patches for it. I ran into difficulty with context_i386.c, which contains functions that obtain the register contents from a process using ptrace. Unfortunately the register structure & PT_GETREGS isn’t defined, so I’ve been looking through the system headers to find some clues.
Reading the Darwine mailing list archive, I found a pointer to this very interesting article which tells how to access the EFI command mode on Intel macs. That article gave some clues about the Mac’s startup process.
/usr/standalone/i386/boot.efi: MS Windows PE 32-bit Intel 80386 executable
hmmmm…. This is the boot image that starts up the OS.