[U-Boot] [PATCH v2] image: fix IH_ARCH_... values for uImage compatibility
Michal Simek
michal.simek at xilinx.com
Thu Jul 21 11:07:13 CEST 2016
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 <yamada.masahiro at socionext.com>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
>
> 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 <michal.simek at xilinx.com>
Thanks,
Michal
More information about the U-Boot
mailing list