diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h index ed333270942d7dd824ca62e88346d955047a46c2..f30b9fc96f0be9a1d6328bd6206cc3cf988b4c84 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 8acd0561a8b77d3a45b38f808e3e5a15ff81be46..ff1ed23db91673d8e03be133eb81fdc0a7a81b6b 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 a6e6cf0f5422ea4c3ae6d38bdae140e5642eca96..9712fc00eecaa7856a15e55168d34a14237d2c50 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 a0f2983750f453d30b503e9b3d27e5289a445a0c..0a48bbdbe6dfd2741461091a511b59db27d07349 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 543a6b177707256321ebf241f48ba36eae2d789e..21c72d5940835fe0f603c741198f31623817b948 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 e839ca18ef24b9139d061a3fdb28331f4eff7e3d..edb87bb066710b458b663fa52788b9ee10a86a9b 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 ec844d040180bf981bc6f32be31cff1713efbfbe..f7c70ff0c149126c4fef7d8533b476b9332203f4 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 721692a3851509436eba6f217670ed8cd688486e..b2fa2b574b940c5b321fc83e2db6603df5bb936f 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 27d43b93474806f889faca993b974dd04b6a5596..45745129a0dbf87db255a7f8a58358b75ced4ae7 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 209873ffec86825be36dd95cfd8756d820d6688b..1d94087aab7b4fc511450f819e3b7d51056c9b5b 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 a43b3aadedd2801f1f1f67e17ce7de4f7f8a3c90..26450ebc44d5994792dd206042abf015184e5ff5 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 8909ee703d32db806ba677196788af623cde2bf4..c2e8038ee87d7a6e968ecb69c8845af39b5991a4 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 352e4a042b8b7b383c96cddbbb08fe2c869fd8e2..cca1cc533c586e21c2a82f22d316092e084abafd 100644 --- a/include/image.h +++ b/include/image.h @@ -484,34 +484,10 @@ 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 +#ifndef IH_ARCH_DEFAULT +# error "please define IH_ARCH_DEFAULT in your arch asm/u-boot.h" #endif - return 0; - - return 1; + return image_check_arch(hdr, IH_ARCH_DEFAULT); } #endif /* USE_HOSTCC */ @@ -636,34 +612,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 */