[PATCH 05/16] rename __get_map() to efi_get_memory_map(), add parameter to optionally return mmap key. The mmap key is required to exit EFI boot services, and allows efi_get_memory_map() to be used for getting final memory map.

Grant Likely grant.likely at secretlab.ca
Fri Aug 30 09:06:14 EDT 2013


On Fri,  9 Aug 2013 16:26:06 -0700, Roy Franz <roy.franz at linaro.org> wrote:
> Signed-off-by: Roy Franz <roy.franz at linaro.org>

Same issue with the commit message here as for patch 4. Please include a
comment stating what is intended to use this new feature.

> ---
>  drivers/firmware/efi/efi-stub-helper.c |   17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/firmware/efi/efi-stub-helper.c b/drivers/firmware/efi/efi-stub-helper.c
> index 40cd16e..1d0a079 100644
> --- a/drivers/firmware/efi/efi-stub-helper.c
> +++ b/drivers/firmware/efi/efi-stub-helper.c
> @@ -46,10 +46,11 @@ static void efi_printk(efi_system_table_t *sys_table_arg, char *str)
>  }
>  
>  
> -static efi_status_t __get_map(efi_system_table_t *sys_table_arg,
> -			      efi_memory_desc_t **map,
> -			      unsigned long *map_size,
> -			      unsigned long *desc_size)
> +static efi_status_t efi_get_memory_map(efi_system_table_t *sys_table_arg,
> +				       efi_memory_desc_t **map,
> +				       unsigned long *map_size,
> +				       unsigned long *desc_size,
> +				       unsigned long *key_ptr)
>  {
>  	efi_memory_desc_t *m = NULL;
>  	efi_status_t status;
> @@ -77,6 +78,8 @@ again:
>  
>  	if (status != EFI_SUCCESS)
>  		efi_call_phys1(sys_table_arg->boottime->free_pool, m);
> +	if (key_ptr && status == EFI_SUCCESS)
> +		*key_ptr = key;
>  
>  fail:
>  	*map = m;
> @@ -97,7 +100,8 @@ static efi_status_t efi_high_alloc(efi_system_table_t *sys_table_arg,
>  	u64 max_addr = 0;
>  	int i;
>  
> -	status = __get_map(sys_table_arg, &map, &map_size, &desc_size);
> +	status = efi_get_memory_map(sys_table_arg, &map, &map_size, &desc_size,
> +				    NULL);
>  	if (status != EFI_SUCCESS)
>  		goto fail;
>  
> @@ -175,7 +179,8 @@ static efi_status_t efi_low_alloc(efi_system_table_t *sys_table_arg,
>  	unsigned long nr_pages;
>  	int i;
>  
> -	status = __get_map(sys_table_arg, &map, &map_size, &desc_size);
> +	status = efi_get_memory_map(sys_table_arg, &map, &map_size, &desc_size,
> +				    NULL);
>  	if (status != EFI_SUCCESS)
>  		goto fail;
>  
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel




More information about the linux-arm-kernel mailing list