From c160a9544743e80e8889edb2275538e7764ce334 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Fri, 15 Aug 2008 08:24:36 -0500 Subject: 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 --- lib_ppc/bootm.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'lib_ppc') diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index e83c860822..b08ee0dc4d 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -79,7 +79,6 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], 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 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], 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 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], 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); -- cgit v1.2.3