Przeglądaj źródła

image: push default arch values to arch headers

This pushes the ugly duplicated arch ifdef lists we maintain in various
image related files out to the arch headers themselves.

Acked-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Tested-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 13 lat temu
rodzic
commit
476af299b0

+ 3 - 0
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_ */

+ 3 - 0
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__ */

+ 3 - 0
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_ */

+ 3 - 0
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__ */

+ 2 - 0
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_ */

+ 3 - 0
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_ */

+ 2 - 0
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_ */

+ 4 - 0
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__ */

+ 3 - 0
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

+ 4 - 0
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__ */

+ 3 - 0
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_ */

+ 1 - 25
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)
 {

+ 4 - 55
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 */