bootm: refactor entry point code

Move entry point code out of each arch and into common code.
Keep the entry point in the bootm_headers_t images struct.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
index e83c860..b08ee0d 100644
--- a/lib_ppc/bootm.c
+++ b/lib_ppc/bootm.c
@@ -79,7 +79,6 @@
 
 	ulong	cmd_start, cmd_end, bootmap_base;
 	bd_t	*kbd;
-	ulong	ep = 0;
 	void	(*kernel)(bd_t *, ulong r4, ulong r5, ulong r6,
 			  ulong r7, ulong r8, ulong r9);
 	int	ret;
@@ -90,6 +89,9 @@
 	char	*of_flat_tree = NULL;
 #endif
 
+	kernel = (void (*)(bd_t *, ulong, ulong, ulong,
+			   ulong, ulong, ulong))images->ep;
+
 	bootmap_base = getenv_bootm_low();
 	bootm_size = getenv_bootm_size();
 
@@ -151,24 +153,6 @@
 		set_clocks_in_mhz(kbd);
 	}
 
-	/* find kernel entry point */
-	if (images->legacy_hdr_valid) {
-		ep = image_get_ep (&images->legacy_hdr_os_copy);
-#if defined(CONFIG_FIT)
-	} else if (images->fit_uname_os) {
-		ret = fit_image_get_entry (images->fit_hdr_os,
-				images->fit_noffset_os, &ep);
-		if (ret) {
-			puts ("Can't get entry point property!\n");
-			goto error;
-		}
-#endif
-	} else {
-		puts ("Could not find kernel entry point!\n");
-		goto error;
-	}
-	kernel = (void (*)(bd_t *, ulong, ulong, ulong,
-			   ulong, ulong, ulong))ep;
 	/* find ramdisk */
 	ret = boot_get_ramdisk (argc, argv, images, IH_ARCH_PPC,
 			&rd_data_start, &rd_data_end);