aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger2011-10-03 14:50:33 +0000
committerWolfgang Denk2011-10-05 22:22:15 +0200
commit476af299b04ef07117bbc3cdef07885e1089967e (patch)
tree35850ad55638bb36454cde8520af022f5ef4f15b
parentc13f47b0d77aee8e6c04ab104d79785ac110623d (diff)
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>
-rw-r--r--arch/arm/include/asm/u-boot.h3
-rw-r--r--arch/avr32/include/asm/u-boot.h3
-rw-r--r--arch/blackfin/include/asm/u-boot.h3
-rw-r--r--arch/m68k/include/asm/u-boot.h3
-rw-r--r--arch/microblaze/include/asm/u-boot.h2
-rw-r--r--arch/mips/include/asm/u-boot.h3
-rw-r--r--arch/nios2/include/asm/u-boot.h2
-rw-r--r--arch/powerpc/include/asm/u-boot.h4
-rw-r--r--arch/sh/include/asm/u-boot.h3
-rw-r--r--arch/sparc/include/asm/u-boot.h4
-rw-r--r--arch/x86/include/asm/u-boot.h3
-rw-r--r--common/cmd_bootm.c26
-rw-r--r--include/image.h59
13 files changed, 38 insertions, 80 deletions
diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h
index ed333270942..f30b9fc96f0 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 8acd0561a8b..ff1ed23db91 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 a6e6cf0f542..9712fc00eec 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 a0f2983750f..0a48bbdbe6d 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 543a6b17770..21c72d59408 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 e839ca18ef2..edb87bb0667 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 ec844d04018..f7c70ff0c14 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 721692a3851..b2fa2b574b9 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 27d43b93474..45745129a0d 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 209873ffec8..1d94087aab7 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 a43b3aadedd..26450ebc44d 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 8909ee703d3..c2e8038ee87 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 352e4a042b8..cca1cc533c5 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 */