From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Burton Date: Tue, 17 Sep 2013 11:52:39 +0100 Subject: [U-Boot] [PATCH] bootm: use BOOTM_STATE_OS_CMDLINE flag for plain bootm In-Reply-To: <1378463035-14030-1-git-send-email-paul.burton@imgtec.com> References: <1378463035-14030-1-git-send-email-paul.burton@imgtec.com> Message-ID: <52383477.5010404@imgtec.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de *ping* (Also CCing MIPS custodian) Paul On 06/09/13 11:23, Paul Burton wrote: > 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 > --- > common/cmd_bootm.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c > index 1685c14..b8255eb 100644 > --- a/common/cmd_bootm.c > +++ b/common/cmd_bootm.c > @@ -797,8 +797,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)