Re: [U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Hi Albert, On Tue, Jun 11, 2013 at 2:36 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 14:17:42 -0700, Simon Glass s...@chromium.org wrote: Hi Albert, On Tue, Jun 11, 2013 at 1:21 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 13:02:56 -0700, Simon Glass s...@chromium.org wrote: Hi Albert, On Tue, Jun 11, 2013 at 12:59 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 11:14:49 -0700, Simon Glass s...@chromium.org wrote: Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) What's the rationale of the s/images/image/ ? Just that the function only accesses a single image, so I felt it was a misnomer. I wonder if the naming was not initially chosen to remind readers that this single image file may actually contain several images (kernel+initrd, for instance. Ah yes, that could be it :-) Shall I change it back? I'd personally prefer that you keep it plural as it was, yes. OK I sent a v3 patch for this one. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -68,12 +68,19 @@ void arch_lmb_reserve(struct lmb *lmb) gd-bd-bi_dram[0].start + gd-bd-bi_dram[0].size - sp); } -static void announce_and_cleanup(void) +/** + * announce_and_cleanup() - Print message and prepare for kernel boot + * + * @fake: non-zero to do everything except actually boot + */ +static void announce_and_cleanup(int fake) { - printf(\nStarting kernel ...\n\n); + printf(\nStarting kernel ...%s\n\n, fake ? + (fake run for tracing) : ); bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, start_kernel); #ifdef CONFIG_BOOTSTAGE_FDT - bootstage_fdt_add_report(); + if (flag == BOOTM_STATE_OS_FAKE_GO) + bootstage_fdt_add_report(); #endif #ifdef CONFIG_BOOTSTAGE_REPORT bootstage_report(); @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) { unsigned long machid = gd-bd-bi_arch_number; char *s; void (*kernel_entry)(int zero, int arch, uint params); unsigned long r2; + int fake = (flag BOOTM_STATE_OS_FAKE_GO); - kernel_entry = (void (*)(int, int, uint))images-ep; + kernel_entry = (void (*)(int, int, uint))image-ep; s = getenv(machid); if (s) { @@ -243,14 +251,15 @@ static void boot_jump_linux(bootm_headers_t *images) debug(## Transferring control to Linux (at address %08lx) \ ...\n, (ulong) kernel_entry); bootstage_mark(BOOTSTAGE_ID_RUN_OS); - announce_and_cleanup(); + announce_and_cleanup(fake); - if (IMAGE_ENABLE_OF_LIBFDT images-ft_len) - r2 = (unsigned long)images-ft_addr; + if (IMAGE_ENABLE_OF_LIBFDT image-ft_len) + r2 = (unsigned long)image-ft_addr; else r2 = gd-bd-bi_boot_params; - kernel_entry(0, machid, r2); + if (!fake) + kernel_entry(0, machid, r2); } /* Main Entry point for arm bootm implementation @@ -270,13 +279,13 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) return 0; } - if (flag BOOTM_STATE_OS_GO) { - boot_jump_linux(images); + if (flag (BOOTM_STATE_OS_GO | BOOTM_STATE_OS_FAKE_GO)) { + boot_jump_linux(images, flag); return 0; } boot_prep_linux(images); - boot_jump_linux(images); + boot_jump_linux(images, flag); return 0; } -- 1.8.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Hi Simon, On Tue, 11 Jun 2013 11:14:49 -0700, Simon Glass s...@chromium.org wrote: Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) What's the rationale of the s/images/image/ ? Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Hi Albert, On Tue, Jun 11, 2013 at 12:59 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 11:14:49 -0700, Simon Glass s...@chromium.org wrote: Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) What's the rationale of the s/images/image/ ? Just that the function only accesses a single image, so I felt it was a misnomer. Regards, Simon Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Hi Simon, On Tue, 11 Jun 2013 13:02:56 -0700, Simon Glass s...@chromium.org wrote: Hi Albert, On Tue, Jun 11, 2013 at 12:59 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 11:14:49 -0700, Simon Glass s...@chromium.org wrote: Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) What's the rationale of the s/images/image/ ? Just that the function only accesses a single image, so I felt it was a misnomer. I wonder if the naming was not initially chosen to remind readers that this single image file may actually contain several images (kernel+initrd, for instance. Regards, Simon Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Hi Albert, On Tue, Jun 11, 2013 at 1:21 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 13:02:56 -0700, Simon Glass s...@chromium.org wrote: Hi Albert, On Tue, Jun 11, 2013 at 12:59 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 11:14:49 -0700, Simon Glass s...@chromium.org wrote: Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) What's the rationale of the s/images/image/ ? Just that the function only accesses a single image, so I felt it was a misnomer. I wonder if the naming was not initially chosen to remind readers that this single image file may actually contain several images (kernel+initrd, for instance. Ah yes, that could be it :-) Shall I change it back? Regards, Simon Regards, Simon Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 17/21] arm: Implement the 'fake' go command
Hi Simon, On Tue, 11 Jun 2013 14:17:42 -0700, Simon Glass s...@chromium.org wrote: Hi Albert, On Tue, Jun 11, 2013 at 1:21 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 13:02:56 -0700, Simon Glass s...@chromium.org wrote: Hi Albert, On Tue, Jun 11, 2013 at 12:59 PM, Albert ARIBAUD albert.u.b...@aribaud.netwrote: Hi Simon, On Tue, 11 Jun 2013 11:14:49 -0700, Simon Glass s...@chromium.org wrote: Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v2: None arch/arm/lib/bootm.c | 33 + 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1b6e0ac..28fba19 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -225,14 +232,15 @@ static void boot_prep_linux(bootm_headers_t *images) } /* Subcommand: GO */ -static void boot_jump_linux(bootm_headers_t *images) +static void boot_jump_linux(bootm_headers_t *image, int flag) What's the rationale of the s/images/image/ ? Just that the function only accesses a single image, so I felt it was a misnomer. I wonder if the naming was not initially chosen to remind readers that this single image file may actually contain several images (kernel+initrd, for instance. Ah yes, that could be it :-) Shall I change it back? I'd personally prefer that you keep it plural as it was, yes. Regards, Simon Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot