From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Thu, 21 Jul 2016 11:07:13 +0200 Subject: [U-Boot] [PATCH v2] image: fix IH_ARCH_... values for uImage compatibility In-Reply-To: <1469081760-6537-1-git-send-email-yamada.masahiro@socionext.com> References: <1469081760-6537-1-git-send-email-yamada.masahiro@socionext.com> Message-ID: <1040d7e9-80f6-773d-6da9-bb32edc8ec84@xilinx.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 21.7.2016 08:16, Masahiro Yamada wrote: > Commit 555f45d8f916 ("image: Convert the IH_... values to enums") > accidentally changed some IH_ARCH_... values. > > Prior to that commit, there existed a gap between IH_ARCH_M68K and > IH_ARCH_MICROBLAZE, like follows. > > #define IH_ARCH_SPARC64 11 /* Sparc 64 Bit */ > #define IH_ARCH_M68K 12 /* M68K */ > #define IH_ARCH_MICROBLAZE 14 /* MicroBlaze */ > #define IH_ARCH_NIOS2 15 /* Nios-II */ > > The enum conversion broke the compatibility with existing uImage > files. Reverting 555f45d8f916 will cause build error unfortunately, > so here is a more easy fix. > > I dug the git history and figured out the gap was introduced by > commit 1117cbf2adac ("nios: remove nios-32 arch"). So, I revived > IH_ARCH_NIOS just for filling the gap. > > I added comments to each enum block. Once we assign a value to > IH_... it is not allowed to change it. > > Signed-off-by: Masahiro Yamada > Reviewed-by: Simon Glass > --- > > Changes in v2: > - Different way to fix the issue > - Add more comments > > include/image.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/include/image.h b/include/image.h > index 2a5b560..734def3 100644 > --- a/include/image.h > +++ b/include/image.h > @@ -134,6 +134,9 @@ enum ih_category { > > /* > * Operating System Codes > + * > + * The following are exposed to uImage header. > + * Do not change values for backward compatibility. > */ > enum { > IH_OS_INVALID = 0, /* Invalid OS */ > @@ -167,6 +170,9 @@ enum { > > /* > * CPU Architecture Codes (supported by Linux) > + * > + * The following are exposed to uImage header. > + * Do not change values for backward compatibility. > */ > enum { > IH_ARCH_INVALID = 0, /* Invalid CPU */ > @@ -182,6 +188,7 @@ enum { > IH_ARCH_SPARC, /* Sparc */ > IH_ARCH_SPARC64, /* Sparc 64 Bit */ > IH_ARCH_M68K, /* M68K */ > + IH_ARCH_NIOS, /* Nios-32 */ > IH_ARCH_MICROBLAZE, /* MicroBlaze */ > IH_ARCH_NIOS2, /* Nios-II */ > IH_ARCH_BLACKFIN, /* Blackfin */ > @@ -234,6 +241,9 @@ enum { > * U-Boot's command interpreter; this feature is especially > * useful when you configure U-Boot to use a real shell (hush) > * as command interpreter (=> Shell Scripts). > + * > + * The following are exposed to uImage header. > + * Do not change values for backward compatibility. > */ > > enum { > @@ -273,6 +283,9 @@ enum { > > /* > * Compression Types > + * > + * The following are exposed to uImage header. > + * Do not change values for backward compatibility. > */ > enum { > IH_COMP_NONE = 0, /* No Compression Used */ > Acked-by: Michal Simek Thanks, Michal