efi_loader: Add PE image loader

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>
This commit is contained in:
Alexander Graf
2016-03-04 01:09:58 +01:00
committed by Tom Rini
parent 2bb9b79d64
commit cb149c6634
3 changed files with 471 additions and 0 deletions

20
include/efi_loader.h Normal file
View File

@@ -0,0 +1,20 @@
/*
* EFI application loader
*
* Copyright (c) 2016 Alexander Graf
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <part_efi.h>
#include <efi_api.h>
#include <linux/list.h>
extern const efi_guid_t efi_guid_device_path;
extern const efi_guid_t efi_guid_loaded_image;
efi_status_t efi_return_handle(void *handle,
efi_guid_t *protocol, void **protocol_interface,
void *agent_handle, void *controller_handle,
uint32_t attributes);
void *efi_load_pe(void *efi, struct efi_loaded_image *loaded_image_info);