
On 12/31/2010 07:06 AM, Jason Liu wrote:
But, I did think again about your comments. If we store the version into the header which will make the version check more easier, the side-effect is that we store some boot ROM useless information into the header, but which should not bring some issues.
Exactly. And you introduce an incompatibility with actual images. If you run your patched mkimage on actual u-boot images, you should not get a valid value because they do not contain the version field. It works only with images generated with the updated mkimage.
Tendentially I do not like to introduce some hidden and at the end bad-documented fields if they are not strictly needed. The IMX header supplied in u-boot is documented in Freescale's manuals, without adding spare fields.
As I can see, the IMX header have enough "barker" and magic number to make recognition easy. V1 rely on two magic numbers (barker for app code and for dcd), and in V2 reading your patch I see at least IVT_HEADER_TAG (0xD1) and DCD_HEADER_TAG. Checking these values at the specific offsets you can find in a more reliable way if an image is a V1 or a V2 or no imx image at all.
Best regards, Stefano Babic