mirror of
https://github.com/linux-sunxi/u-boot-sunxi.git
synced 2024-02-12 11:16:03 +08:00
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2018-01-23 This time around we have a lot of EFI patches from Heinrich. Highlights are: - Allow EFI applications to register as drivers - Allow exposure of U-Boot block devices from an EFI payload - Compatibility improvements
This commit is contained in:
@ -32,6 +32,9 @@ static void efi_init_obj_list(void)
|
||||
{
|
||||
efi_obj_list_initalized = 1;
|
||||
|
||||
/* Initialize EFI driver uclass */
|
||||
efi_driver_init();
|
||||
|
||||
efi_console_register();
|
||||
#ifdef CONFIG_PARTITIONS
|
||||
efi_disk_register();
|
||||
@ -103,11 +106,11 @@ static void *copy_fdt(void *fdt)
|
||||
|
||||
/* Safe fdt location is at 128MB */
|
||||
new_fdt_addr = fdt_ram_start + (128 * 1024 * 1024) + fdt_size;
|
||||
if (efi_allocate_pages(1, EFI_BOOT_SERVICES_DATA, fdt_pages,
|
||||
if (efi_allocate_pages(1, EFI_RUNTIME_SERVICES_DATA, fdt_pages,
|
||||
&new_fdt_addr) != EFI_SUCCESS) {
|
||||
/* If we can't put it there, put it somewhere */
|
||||
new_fdt_addr = (ulong)memalign(EFI_PAGE_SIZE, fdt_size);
|
||||
if (efi_allocate_pages(1, EFI_BOOT_SERVICES_DATA, fdt_pages,
|
||||
if (efi_allocate_pages(1, EFI_RUNTIME_SERVICES_DATA, fdt_pages,
|
||||
&new_fdt_addr) != EFI_SUCCESS) {
|
||||
printf("ERROR: Failed to reserve space for FDT\n");
|
||||
return NULL;
|
||||
@ -122,8 +125,8 @@ static void *copy_fdt(void *fdt)
|
||||
}
|
||||
|
||||
static efi_status_t efi_do_enter(
|
||||
void *image_handle, struct efi_system_table *st,
|
||||
asmlinkage ulong (*entry)(void *image_handle,
|
||||
efi_handle_t image_handle, struct efi_system_table *st,
|
||||
asmlinkage ulong (*entry)(efi_handle_t image_handle,
|
||||
struct efi_system_table *st))
|
||||
{
|
||||
efi_status_t ret = EFI_LOAD_ERROR;
|
||||
@ -136,8 +139,8 @@ static efi_status_t efi_do_enter(
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
static efi_status_t efi_run_in_el2(asmlinkage ulong (*entry)(
|
||||
void *image_handle, struct efi_system_table *st),
|
||||
void *image_handle, struct efi_system_table *st)
|
||||
efi_handle_t image_handle, struct efi_system_table *st),
|
||||
efi_handle_t image_handle, struct efi_system_table *st)
|
||||
{
|
||||
/* Enable caches again */
|
||||
dcache_enable();
|
||||
@ -159,7 +162,7 @@ static efi_status_t do_bootefi_exec(void *efi, void *fdt,
|
||||
struct efi_device_path *memdp = NULL;
|
||||
ulong ret;
|
||||
|
||||
ulong (*entry)(void *image_handle, struct efi_system_table *st)
|
||||
ulong (*entry)(efi_handle_t image_handle, struct efi_system_table *st)
|
||||
asmlinkage;
|
||||
ulong fdt_pages, fdt_size, fdt_start, fdt_end;
|
||||
const efi_guid_t fdt_guid = EFI_FDT_GUID;
|
||||
|
Reference in New Issue
Block a user