summaryrefslogtreecommitdiff
path: root/lib/efi_loader/efi_image_loader.c
Commit message (Collapse)AuthorAgeLines
* efi_loader: Fix relocations above 64kb image sizeAlexander Graf2016-08-20-1/+1
| | | | | | | | | | | | | We were truncating the image offset within the target image to 16 bits which again meant that we were potentially overwriting random memory in the lower 16 bits of the image. This patch casts the offset to a more reasonable 32bits. With this applied, I can successfully see Shell.efi assert because it can't find a protocol it expects to be available. Signed-off-by: Alexander Graf <agraf@suse.de>
* efi_loader: Fix some entry/exit pointsAlexander Graf2016-03-27-4/+1
| | | | | | | | | | | | When switching between EFI context and U-Boot context we need to swap the register that "gd" resides in. Some functions slipped through here, with efi_allocate_pool / efi_free_pool not doing the switch correctly and efi_return_handle switching too often. Fix them all up to make sure we always have consistent register state. Signed-off-by: Alexander Graf <agraf@suse.de>
* efi_loader: Add PE image loaderAlexander Graf2016-03-15-0/+188
EFI uses the PE binary format for its application images. Add support to EFI PE binaries as well as all necessary bits for the "EFI image loader" interfaces. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>