diff options
Diffstat (limited to 'drivers/firmware/efi/libstub/zboot.c')
| -rw-r--r-- | drivers/firmware/efi/libstub/zboot.c | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/firmware/efi/libstub/zboot.c b/drivers/firmware/efi/libstub/zboot.c index ba234e062a1a..e5d7fa1f1d8f 100644 --- a/drivers/firmware/efi/libstub/zboot.c +++ b/drivers/firmware/efi/libstub/zboot.c @@ -50,18 +50,22 @@ static unsigned long alloc_preferred_address(unsigned long alloc_size)  }  void __weak efi_cache_sync_image(unsigned long image_base, -				 unsigned long alloc_size, -				 unsigned long code_size) +				 unsigned long alloc_size)  {  	// Provided by the arch to perform the cache maintenance necessary for  	// executable code loaded into memory to be safe for execution.  } +struct screen_info *alloc_screen_info(void) +{ +	return __alloc_screen_info(); +} +  asmlinkage efi_status_t __efiapi  efi_zboot_entry(efi_handle_t handle, efi_system_table_t *systab)  {  	unsigned long compressed_size = _gzdata_end - _gzdata_start; -	unsigned long image_base, alloc_size, code_size; +	unsigned long image_base, alloc_size;  	efi_loaded_image_t *image;  	efi_status_t status;  	char *cmdline_ptr; @@ -89,10 +93,6 @@ efi_zboot_entry(efi_handle_t handle, efi_system_table_t *systab)  	alloc_size = round_up(get_unaligned_le32(_gzdata_end - 4),  			      EFI_ALLOC_ALIGN); -	// SizeOfHeaders and SizeOfCode from the compressee's PE/COFF header -	code_size = get_unaligned_le32(_gzdata_end - 8) + -		    get_unaligned_le32(_gzdata_end - 12); -  	 // If the architecture has a preferred address for the image,  	 // try that first.  	image_base = alloc_preferred_address(alloc_size); @@ -135,9 +135,7 @@ efi_zboot_entry(efi_handle_t handle, efi_system_table_t *systab)  		goto free_image;  	} -	efi_cache_sync_image(image_base, alloc_size, code_size); - -	efi_remap_image(image_base, alloc_size, code_size); +	efi_cache_sync_image(image_base, alloc_size);  	status = efi_stub_common(handle, image, image_base, cmdline_ptr);  |