summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2013-09-06 11:23:55 +0100
committerTom Rini <trini@ti.com>2013-09-20 10:29:48 -0400
commit5c427e49ce09c7e991ce63a686cb600bff3c877a (patch)
treefb452731c55d2939b74f7955e0d5ae3d4b9eed3c /common
parent46ef4faed18196472eb95216b2f74c1397ecf024 (diff)
downloadu-boot-imx-5c427e49ce09c7e991ce63a686cb600bff3c877a.zip
u-boot-imx-5c427e49ce09c7e991ce63a686cb600bff3c877a.tar.gz
u-boot-imx-5c427e49ce09c7e991ce63a686cb600bff3c877a.tar.bz2
bootm: use BOOTM_STATE_OS_CMDLINE flag for plain bootm
A plain bootm used to call the architecture specific boot function with no flags, but was modified by commit 35fc84fa "Refactor the bootm command to reduce code duplication" to call the architecture specific boot function multiple times with various flags in sequence. The BOOTM_STATE_OS_CMDLINE flag was not used, indeed it seems that at least ARM prepares the command line on BOOTM_STATE_OS_PREP. However on MIPS since commit 59e8cbdb "MIPS: bootm: refactor initialisation of kernel cmdline" the command line is not prepared in response to a BOOTM_STATE_OS_PREP flag, only on BOOTM_STATE_OS_CMDLINE or a call with no flags. The end result is that a combination of those 2 commits leads to MIPS boards booting kernels with no command line arguments. An extra invocation of the architecture specific boot function with BOOTM_STATE_OS_CMDLINE fixes this. Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Diffstat (limited to 'common')
-rw-r--r--common/cmd_bootm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index b07b0f4..16d08f3 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -799,8 +799,9 @@ int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_START |
BOOTM_STATE_FINDOS | BOOTM_STATE_FINDOTHER |
- BOOTM_STATE_LOADOS | BOOTM_STATE_OS_PREP |
- BOOTM_STATE_OS_FAKE_GO | BOOTM_STATE_OS_GO, &images, 1);
+ BOOTM_STATE_LOADOS | BOOTM_STATE_OS_CMDLINE |
+ BOOTM_STATE_OS_PREP | BOOTM_STATE_OS_FAKE_GO |
+ BOOTM_STATE_OS_GO, &images, 1);
}
int bootm_maybe_autostart(cmd_tbl_t *cmdtp, const char *cmd)