summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiao Yan <miao.yan@windriver.com>2013-11-28 17:51:36 +0800
committerTom Rini <trini@ti.com>2013-12-13 09:18:45 -0500
commit17ab52fef1c5221839f294d251224e4a8f19ad35 (patch)
tree586ea53bf3eedfd6eb7e2a54743e621a284065e8
parent878a095e441284e64e84edc77ad93c616f9ec174 (diff)
downloadu-boot-imx-17ab52fef1c5221839f294d251224e4a8f19ad35.zip
u-boot-imx-17ab52fef1c5221839f294d251224e4a8f19ad35.tar.gz
u-boot-imx-17ab52fef1c5221839f294d251224e4a8f19ad35.tar.bz2
common/cmd_bootm.c: seperate do_bootm_vxworks related code from CONFIG_CMD_ELF.
do_bootm_vxworks now is available under the configuration option CONFIG_BOOTM_VXWORKS, thus aligned with other operating systems that supported by bootm command. The bootvx command still depneds on CONFIG_CMD_ELF. Signed-off-by: Miao Yan <miao.yan@windriver.com>
-rw-r--r--common/cmd_bootm.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 4d594f8..56d53b1 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -120,8 +120,10 @@ static boot_os_fn do_bootm_ose;
#if defined(CONFIG_BOOTM_PLAN9)
static boot_os_fn do_bootm_plan9;
#endif
-#if defined(CONFIG_CMD_ELF)
+#if defined(CONFIG_BOOTM_VXWORKS)
static boot_os_fn do_bootm_vxworks;
+#endif
+#if defined(CONFIG_CMD_ELF)
static boot_os_fn do_bootm_qnxelf;
int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
int do_bootelf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
@@ -149,8 +151,10 @@ static boot_os_fn *boot_os[] = {
#if defined(CONFIG_BOOTM_PLAN9)
[IH_OS_PLAN9] = do_bootm_plan9,
#endif
-#if defined(CONFIG_CMD_ELF)
+#if defined(CONFIG_BOOTM_VXWORKS)
[IH_OS_VXWORKS] = do_bootm_vxworks,
+#endif
+#if defined(CONFIG_CMD_ELF)
[IH_OS_QNX] = do_bootm_qnxelf,
#endif
#ifdef CONFIG_INTEGRITY
@@ -1678,7 +1682,7 @@ static int do_bootm_plan9(int flag, int argc, char * const argv[],
}
#endif /* CONFIG_BOOTM_PLAN9 */
-#if defined(CONFIG_CMD_ELF)
+#if defined(CONFIG_BOOTM_VXWORKS)
static int do_bootm_vxworks(int flag, int argc, char * const argv[],
bootm_headers_t *images)
{
@@ -1696,11 +1700,16 @@ static int do_bootm_vxworks(int flag, int argc, char * const argv[],
sprintf(str, "%lx", images->ep); /* write entry-point into string */
setenv("loadaddr", str);
+
+#if defined(CONFIG_CMD_ELF)
do_bootvx(NULL, 0, 0, NULL);
+#endif
return 1;
}
+#endif
+#if defined(CONFIG_CMD_ELF)
static int do_bootm_qnxelf(int flag, int argc, char * const argv[],
bootm_headers_t *images)
{