[U-Boot] [PATCH v4] imls: Add support to list images in NAND device

Scott Wood scottwood at freescale.com
Wed Feb 20 19:12:23 CET 2013


On 02/19/2013 09:37:23 PM, Vipin Kumar wrote:
> On 2/20/2013 6:45 AM, Scott Wood wrote:
>> On 12/17/2012 02:32:48 AM, Vipin Kumar wrote:
>>> +#if defined(CONFIG_CMD_IMLS_NAND)
>>> +static int nand_imls_legacyimage(nand_info_t *nand, int nand_dev,
>>> loff_t off,
>>> +		size_t len)
>>> +{
>>> +	void *imgdata;
>>> +	int ret;
>>> +
>>> +	imgdata = malloc(len);
>>> +	if (!imgdata) {
>>> +		printf("May be a Legacy Image at NAND device %d offset
>>> %08llX:\n",
>>> +				nand_dev, off);
>>> +		printf("   Low memory(cannot allocate memory for
>>> image)\n");
>>> +		return -ENOMEM;
>>> +	}
>> 
>> So, it looks like any reasonably-sized kernel image is going to hit
>> this out-of-memory condition given how unreasonably small U-Boot  
>> malloc
>> heaps generally are.
>> 
> 
> Yes, that's right. And it is a pity

I think I'll apply this anyway, as it is still helpful, but a future  
enhancement could be to do a streaming read of the image to verify the  
CRC.

>> As a side note, running this showed U-Boot itself as "may be a legacy
>> image"... it seems that for some reason all the ppc arches start with
>> the uImage header, but otherwise aren't valid uImages.
> 
> This "may be a legacy image" print is when we have successfully  
> copied and validated the 64 byte mkimage header and are not able to  
> allocate the memory from heap for the image data. What it means is  
> that although the whole image might be a good "Legacy image" but we  
> can not guarantee because we have not yet validated the dcrc.
> 
> Thats why this print "May be a legacy image"

Sure, that comment was meant as "hmm, powerpc is doing something weird"  
rather than anything wrong with this patch.

-Scott


More information about the U-Boot mailing list