Message ID | 1317016410-608-1-git-send-email-vapier@gentoo.org |
---|---|
State | Changes Requested |
Headers | show |
Dear Mike Frysinger, In message <1317016410-608-1-git-send-email-vapier@gentoo.org> you wrote: > This pushes the ugly duplicated arch ifdef lists we maintain in various > image related files out to the arch headers themselves. I appreciate this change in general, but ... ... > -#else > -# error Unknown CPU type > -#endif > - return 0; > - > - return 1; > + return !fit_image_check_arch(fdt, node, IH_ARCH_DEFAULT)); ...here you change a compile time error check into a runtim error. Please fix this. Best regards, Wolfgang Denk
On Monday, September 26, 2011 02:08:51 Wolfgang Denk wrote: > Mike Frysinger wrote: > > This pushes the ugly duplicated arch ifdef lists we maintain in various > > image related files out to the arch headers themselves. > > I appreciate this change in general, but ... > > ... > > > -#else > > -# error Unknown CPU type > > -#endif > > - return 0; > > - > > - return 1; > > + return !fit_image_check_arch(fdt, node, IH_ARCH_DEFAULT)); > > ...here you change a compile time error check into a runtim error. no, it'll still be a build time error as IH_ARCH_DEFAULT will be undefined it just might not be as clean an error ... gcc will complain about IH_ARCH_DEFAULT not being defined rather than a helpful "Unknown CPU type" message. -mike
Dear Mike Frysinger, In message <201109261209.46800.vapier@gentoo.org> you wrote: > > > ...here you change a compile time error check into a runtim error. > > no, it'll still be a build time error as IH_ARCH_DEFAULT will be undefined > > it just might not be as clean an error ... gcc will complain about > IH_ARCH_DEFAULT not being defined rather than a helpful "Unknown CPU type" Should it not be trivial to add a #ifndef IH_ARCH_DEFAULT # error Unknown CPU type: IH_ARCH_DEFAULT not set #endif or similar to include/image.h ? Best regards, Wolfgang Denk
On Monday, September 26, 2011 13:58:59 Wolfgang Denk wrote: > Mike Frysinger wrote: > > > ...here you change a compile time error check into a runtim error. > > > > no, it'll still be a build time error as IH_ARCH_DEFAULT will be > > undefined > > > > it just might not be as clean an error ... gcc will complain about > > IH_ARCH_DEFAULT not being defined rather than a helpful "Unknown CPU > > type" > > Should it not be trivial to add a > > #ifndef IH_ARCH_DEFAULT > # error Unknown CPU type: IH_ARCH_DEFAULT not set > #endif > > or similar to include/image.h ? it'd certainly be easy to do. i just pointed out that you still get a build failure after my change :). so if you want the #error, i'll resend w/it. -mike
Dear Mike Frysinger, In message <201109261415.14398.vapier@gentoo.org> you wrote: > > > Should it not be trivial to add a > > > > #ifndef IH_ARCH_DEFAULT > > # error Unknown CPU type: IH_ARCH_DEFAULT not set > > #endif > > > > or similar to include/image.h ? > > it'd certainly be easy to do. i just pointed out that you still get a build > failure after my change :). so if you want the #error, i'll resend w/it. Yes, please do. I think it's easier to decode for most people. Best regards, Wolfgang Denk
Dear Mike Frysinger, In message <1317016410-608-2-git-send-email-vapier@gentoo.org> you wrote: > The m68k tree is the only one where `./MAKEALL <arch>` does not work. > So rename the existing coldfire list in the MAKEALL script to m68k, and > add an alias from coldfire to m68k. This makes scripting around MAKEALL > easier. > > Signed-off-by: Mike Frysinger <vapier@gentoo.org> > --- > MAKEALL | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) Applied, thanks. Best regards, Wolfgang Denk
diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h index ed33327..f30b9fc 100644 --- a/arch/arm/include/asm/u-boot.h +++ b/arch/arm/include/asm/u-boot.h @@ -48,4 +48,7 @@ typedef struct bd_info { } bi_dram[CONFIG_NR_DRAM_BANKS]; } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_ARM + #endif /* _U_BOOT_H_ */ diff --git a/arch/avr32/include/asm/u-boot.h b/arch/avr32/include/asm/u-boot.h index 8acd056..ff1ed23 100644 --- a/arch/avr32/include/asm/u-boot.h +++ b/arch/avr32/include/asm/u-boot.h @@ -40,4 +40,7 @@ typedef struct bd_info { #define bi_memstart bi_dram[0].start #define bi_memsize bi_dram[0].size +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_AVR32 + #endif /* __ASM_U_BOOT_H__ */ diff --git a/arch/blackfin/include/asm/u-boot.h b/arch/blackfin/include/asm/u-boot.h index a6e6cf0f..9712fc0 100644 --- a/arch/blackfin/include/asm/u-boot.h +++ b/arch/blackfin/include/asm/u-boot.h @@ -45,4 +45,7 @@ typedef struct bd_info { unsigned long bi_sclk; } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_BLACKFIN + #endif /* _U_BOOT_H_ */ diff --git a/arch/m68k/include/asm/u-boot.h b/arch/m68k/include/asm/u-boot.h index a0f2983..0a48bbd 100644 --- a/arch/m68k/include/asm/u-boot.h +++ b/arch/m68k/include/asm/u-boot.h @@ -64,4 +64,7 @@ typedef struct bd_info { #endif /* __ASSEMBLY__ */ +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_M68K + #endif /* __U_BOOT_H__ */ diff --git a/arch/microblaze/include/asm/u-boot.h b/arch/microblaze/include/asm/u-boot.h index 543a6b1..21c72d5 100644 --- a/arch/microblaze/include/asm/u-boot.h +++ b/arch/microblaze/include/asm/u-boot.h @@ -44,5 +44,7 @@ typedef struct bd_info { unsigned long bi_baudrate; /* Console Baudrate */ } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_MICROBLAZE #endif /* _U_BOOT_H_ */ diff --git a/arch/mips/include/asm/u-boot.h b/arch/mips/include/asm/u-boot.h index e839ca1..edb87bb 100644 --- a/arch/mips/include/asm/u-boot.h +++ b/arch/mips/include/asm/u-boot.h @@ -43,4 +43,7 @@ typedef struct bd_info { unsigned long bi_flashoffset; /* reserved area for startup monitor */ } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_MIPS + #endif /* _U_BOOT_H_ */ diff --git a/arch/nios2/include/asm/u-boot.h b/arch/nios2/include/asm/u-boot.h index ec844d0..f7c70ff 100644 --- a/arch/nios2/include/asm/u-boot.h +++ b/arch/nios2/include/asm/u-boot.h @@ -43,5 +43,7 @@ typedef struct bd_info { unsigned long bi_baudrate; /* Console Baudrate */ } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_NIOS2 #endif /* __ASM_NIOS2_U_BOOT_H_ */ diff --git a/arch/powerpc/include/asm/u-boot.h b/arch/powerpc/include/asm/u-boot.h index 721692a..b2fa2b5 100644 --- a/arch/powerpc/include/asm/u-boot.h +++ b/arch/powerpc/include/asm/u-boot.h @@ -143,4 +143,8 @@ typedef struct bd_info { } bd_t; #endif /* __ASSEMBLY__ */ + +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_PPC + #endif /* __U_BOOT_H__ */ diff --git a/arch/sh/include/asm/u-boot.h b/arch/sh/include/asm/u-boot.h index 27d43b9..4574512 100644 --- a/arch/sh/include/asm/u-boot.h +++ b/arch/sh/include/asm/u-boot.h @@ -38,4 +38,7 @@ typedef struct bd_info { unsigned long bi_boot_params; /* where this board expects params */ } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_SH + #endif diff --git a/arch/sparc/include/asm/u-boot.h b/arch/sparc/include/asm/u-boot.h index 209873f..1d94087 100644 --- a/arch/sparc/include/asm/u-boot.h +++ b/arch/sparc/include/asm/u-boot.h @@ -59,4 +59,8 @@ typedef struct bd_info { } bd_t; #endif /* __ASSEMBLY__ */ + +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_SPARC + #endif /* __U_BOOT_H__ */ diff --git a/arch/x86/include/asm/u-boot.h b/arch/x86/include/asm/u-boot.h index a43b3aa..26450eb 100644 --- a/arch/x86/include/asm/u-boot.h +++ b/arch/x86/include/asm/u-boot.h @@ -58,4 +58,7 @@ typedef struct bd_info { }bi_dram[CONFIG_NR_DRAM_BANKS]; } bd_t; +/* For image.h:image_check_target_arch() */ +#define IH_ARCH_DEFAULT IH_ARCH_I386 + #endif /* _U_BOOT_H_ */ diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 8909ee7..c2e8038 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -165,31 +165,7 @@ void __arch_preboot_os(void) } void arch_preboot_os(void) __attribute__((weak, alias("__arch_preboot_os"))); -#if defined(__ARM__) - #define IH_INITRD_ARCH IH_ARCH_ARM -#elif defined(__avr32__) - #define IH_INITRD_ARCH IH_ARCH_AVR32 -#elif defined(__bfin__) - #define IH_INITRD_ARCH IH_ARCH_BLACKFIN -#elif defined(__I386__) - #define IH_INITRD_ARCH IH_ARCH_I386 -#elif defined(__M68K__) - #define IH_INITRD_ARCH IH_ARCH_M68K -#elif defined(__microblaze__) - #define IH_INITRD_ARCH IH_ARCH_MICROBLAZE -#elif defined(__mips__) - #define IH_INITRD_ARCH IH_ARCH_MIPS -#elif defined(__nios2__) - #define IH_INITRD_ARCH IH_ARCH_NIOS2 -#elif defined(__PPC__) - #define IH_INITRD_ARCH IH_ARCH_PPC -#elif defined(__sh__) - #define IH_INITRD_ARCH IH_ARCH_SH -#elif defined(__sparc__) - #define IH_INITRD_ARCH IH_ARCH_SPARC -#else -# error Unknown CPU type -#endif +#define IH_INITRD_ARCH IH_ARCH_DEFAULT static void bootm_start_lmb(void) { diff --git a/include/image.h b/include/image.h index 352e4a0..cbb6669 100644 --- a/include/image.h +++ b/include/image.h @@ -484,34 +484,7 @@ void image_print_contents (const void *hdr); #ifndef USE_HOSTCC static inline int image_check_target_arch (const image_header_t *hdr) { -#if defined(__ARM__) - if (!image_check_arch (hdr, IH_ARCH_ARM)) -#elif defined(__avr32__) - if (!image_check_arch (hdr, IH_ARCH_AVR32)) -#elif defined(__bfin__) - if (!image_check_arch (hdr, IH_ARCH_BLACKFIN)) -#elif defined(__I386__) - if (!image_check_arch (hdr, IH_ARCH_I386)) -#elif defined(__M68K__) - if (!image_check_arch (hdr, IH_ARCH_M68K)) -#elif defined(__microblaze__) - if (!image_check_arch (hdr, IH_ARCH_MICROBLAZE)) -#elif defined(__mips__) - if (!image_check_arch (hdr, IH_ARCH_MIPS)) -#elif defined(__nios2__) - if (!image_check_arch (hdr, IH_ARCH_NIOS2)) -#elif defined(__PPC__) - if (!image_check_arch (hdr, IH_ARCH_PPC)) -#elif defined(__sh__) - if (!image_check_arch (hdr, IH_ARCH_SH)) -#elif defined(__sparc__) - if (!image_check_arch (hdr, IH_ARCH_SPARC)) -#else -# error Unknown CPU type -#endif - return 0; - - return 1; + return image_check_arch(hdr, IH_ARCH_DEFAULT); } #endif /* USE_HOSTCC */ @@ -636,34 +609,7 @@ void fit_conf_print (const void *fit, int noffset, const char *p); #ifndef USE_HOSTCC static inline int fit_image_check_target_arch (const void *fdt, int node) { -#if defined(__ARM__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_ARM)) -#elif defined(__avr32__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_AVR32)) -#elif defined(__bfin__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_BLACKFIN)) -#elif defined(__I386__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_I386)) -#elif defined(__M68K__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_M68K)) -#elif defined(__microblaze__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_MICROBLAZE)) -#elif defined(__mips__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_MIPS)) -#elif defined(__nios2__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_NIOS2)) -#elif defined(__PPC__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_PPC)) -#elif defined(__sh__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_SH)) -#elif defined(__sparc__) - if (!fit_image_check_arch (fdt, node, IH_ARCH_SPARC)) -#else -# error Unknown CPU type -#endif - return 0; - - return 1; + return !fit_image_check_arch(fdt, node, IH_ARCH_DEFAULT)); } #endif /* USE_HOSTCC */
This pushes the ugly duplicated arch ifdef lists we maintain in various image related files out to the arch headers themselves. Signed-off-by: Mike Frysinger <vapier@gentoo.org> --- arch/arm/include/asm/u-boot.h | 3 ++ arch/avr32/include/asm/u-boot.h | 3 ++ arch/blackfin/include/asm/u-boot.h | 3 ++ arch/m68k/include/asm/u-boot.h | 3 ++ arch/microblaze/include/asm/u-boot.h | 2 + arch/mips/include/asm/u-boot.h | 3 ++ arch/nios2/include/asm/u-boot.h | 2 + arch/powerpc/include/asm/u-boot.h | 4 ++ arch/sh/include/asm/u-boot.h | 3 ++ arch/sparc/include/asm/u-boot.h | 4 ++ arch/x86/include/asm/u-boot.h | 3 ++ common/cmd_bootm.c | 26 +-------------- include/image.h | 58 +-------------------------------- 13 files changed, 36 insertions(+), 81 deletions(-)