From: Jerry Van Baren <gvb.uboot@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC] bootm: Add sub commands
Date: Wed, 17 Sep 2008 19:57:39 -0400 [thread overview]
Message-ID: <48D19973.7040900@gmail.com> (raw)
In-Reply-To: <1221688841-3197-1-git-send-email-galak@kernel.crashing.org>
Kumar Gala wrote:
> Posting this again for discussion. The two features I'm interested in
> enabling are:
>
> * Having the ability to modify the device tree before its passed to
> the kernel but after 'fdt boardsetup'
>
> * Ability to do all setup but not actually jumping to the kernel.
> (This is useful as a way to setup the memory image [kernel, ramdisk,
> fdt, etc] for a different cpu than the boot one)
>
> Having bootm sub-commands allows both of these as we can break up
> the sequeunce of steps that are part of the bootm process.
>
> - k
Hi Kumar,
Looks like a good proposal. I've been rather distracted the last couple
of weeks, but I'll put some eyeball time and runtime on your changes.
[snip]
> +#if 0
> +are these really common ??? or is there any harm??
> + /* bd_t setup */
> + else if (argv[1][0] == 'p') {
> + }
If we are using a FDT, there is no reason for a bd_t as part of the boot
process. I vote for removal.
(typo s/p/b/?)
> + /* cmd setup */
> + else if (argv[1][0] == 'c') {
> + }
I don't know what "cmd setup" is/was off-hand, have to look into that.
Probably also a removal.
[snip]
> @@ -782,6 +883,17 @@ U_BOOT_CMD(
> "\tUse iminfo command to get the list of existing component\n"
> "\timages and configurations.\n"
> #endif
> + "\t\nSub-commands to do part of the bootm sequence:\n"
> + "\tstart [addr [arg ...]]\n"
> + "\tloados - load OS image\n"
> + "\tprepos - OS specific prep before relocation or go\n"
> +#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
> + "\tinitrd - relocate initrd, set env initrd_start/initrd_end\n"
> +#endif
> +#if defined(CONFIG_OF_LIBFDT)
> + "\tfdt - relocate initrd\n"
Cut'n'paste? s/initrd/the flattened device tree/
[snip]
> diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
> index 38266e1..208ed3b 100644
> --- a/lib_ppc/bootm.c
> +++ b/lib_ppc/bootm.c
> @@ -47,6 +47,7 @@
>
> DECLARE_GLOBAL_DATA_PTR;
>
> +extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
> extern ulong get_effective_memsize(void);
> static ulong get_sp (void);
> static void set_clocks_in_mhz (bd_t *kbd);
> @@ -55,30 +56,78 @@ static void set_clocks_in_mhz (bd_t *kbd);
> #define CFG_LINUX_LOWMEM_MAX_SIZE (768*1024*1024)
> #endif
>
> -__attribute__((noinline))
> -int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
> +static void boot_jump_linux(bootm_headers_t *images)
> {
> - ulong sp;
> -
> - ulong initrd_start, initrd_end;
> - ulong rd_len;
> - ulong size;
> - phys_size_t bootm_size;
> -
> - ulong cmd_start, cmd_end, bootmap_base;
> - bd_t *kbd;
> void (*kernel)(bd_t *, ulong r4, ulong r5, ulong r6,
> ulong r7, ulong r8, ulong r9);
> - int ret;
> - ulong of_size = images->ft_len;
> - struct lmb *lmb = &images->lmb;
> +
> + kernel = (void (*)(bd_t *, ulong, ulong, ulong,
> + ulong, ulong, ulong))images->ep;
> +#ifdef CONFIG_OF_LIBFDT
> + char *of_flat_tree = images->ft_addr;
> +#endif
This should be moved above the "kernel = " line to keep it with the rest
of the declarations, yes?
[big snip]
Thanks!
gvb
next prev parent reply other threads:[~2008-09-17 23:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-17 22:00 [U-Boot] [RFC] bootm: Add sub commands Kumar Gala
2008-09-17 23:57 ` Jerry Van Baren [this message]
2008-09-18 16:27 ` Kumar Gala
2008-09-18 6:54 ` Wolfgang Denk
2008-09-18 11:25 ` Jerry Van Baren
2008-09-18 16:32 ` Kumar Gala
2008-09-22 21:06 ` Wolfgang Denk
2008-09-18 20:17 ` Kumar Gala
2008-09-22 21:09 ` Wolfgang Denk
2008-09-22 23:32 ` Kumar Gala
2008-09-22 23:49 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48D19973.7040900@gmail.com \
--to=gvb.uboot@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox