[U-Boot] [PATCH v2] efi_loader: Handle memory overflows

Alexander Graf agraf at suse.de
Wed Apr 13 14:07:17 CEST 2016


On 04/13/2016 02:04 PM, Andreas Färber wrote:
> jetson-tk1 has 2 GB of RAM at 0x80000000, causing gd->ram_top to be zero.
> Handle this by either avoiding ram_top or by using the same type as
> ram_top to reverse the overflow effect.
>
> Cc: Alexander Graf <agraf at suse.de>
> Signed-off-by: Andreas Färber <afaerber at suse.de>

Reviewed-by: Alexander Graf <agraf at suse.de>


Alex

> ---
>   lib/efi_loader/efi_memory.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
> index 138736f..82003d7 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -225,7 +225,7 @@ efi_status_t efi_allocate_pages(int type, int memory_type,
>   	switch (type) {
>   	case 0:
>   		/* Any page */
> -		addr = efi_find_free_memory(len, gd->ram_top);
> +		addr = efi_find_free_memory(len, gd->start_addr_sp);
>   		if (!addr) {
>   			r = EFI_NOT_FOUND;
>   			break;
> @@ -325,9 +325,9 @@ efi_status_t efi_get_memory_map(unsigned long *memory_map_size,
>   
>   int efi_memory_init(void)
>   {
> -	uint64_t runtime_start, runtime_end, runtime_pages;
> -	uint64_t uboot_start, uboot_pages;
> -	uint64_t uboot_stack_size = 16 * 1024 * 1024;
> +	unsigned long runtime_start, runtime_end, runtime_pages;
> +	unsigned long uboot_start, uboot_pages;
> +	unsigned long uboot_stack_size = 16 * 1024 * 1024;
>   	int i;
>   
>   	/* Add RAM */



More information about the U-Boot mailing list