EFI boot loader in efi_boot_linux() now supports booting i386 and x86_64 linux kernels.
authorchandramouli narayanan <mouli@linux.intel.com>
Mon, 25 Jun 2012 19:37:31 +0000 (12:37 -0700)
committerchandramouli narayanan <mouli@linux.intel.com>
Mon, 25 Jun 2012 19:37:31 +0000 (12:37 -0700)
commitca8533f1ef1d60dffa21449633dec9d26baeb29d
treee7351ad01dfe86333b6869648218c0506a8d63ff
parent3f7a44b8c18d9c9916b279872a0ef8701179e2e8
EFI boot loader in efi_boot_linux() now supports booting i386 and x86_64 linux kernels.
Main x86_64 changes are in a) setting up high part of EFI system table and memmap
b) loader signature c) setting up jump vector to hand off to kernel.

The EFI wrapper (efi/wraper.[ch]) takes an ELF shared libary and wraps it into PE32. While that's
fine for EFI32, for EFI64, it needs to support PE32+ format so that a 64bit loadable module or
executable can work under a 64bit capable syslinux.efi. The EFI wrapper is enhanced to support
both EFI32 and EFI64 by writing out PE32 or PE32+ header fields as appropriate for the build
architecture environment.

Remanants of the unused old i386-only files, if any, need to be pruned.
efi/main.c
efi/wrapper.c
efi/wrapper.h