[U-Boot] [RFC PATCH 6/7] arm: Show relocated PC/LR in the register dump

Albert ARIBAUD
2015-02-03T19:20:31Z

Hello Simon,

On Fri, 30 Jan 2015 12:04:56 -0700, Simon Glass <sjg@chromium.org> wrote:
> If we don't know the relocation address, the raw values are not very useful.
> Show the pre-relocation values as well as these can be looked up in
> System.map, etc.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> arch/arm/lib/interrupts.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c
> index 4dacfd9..06f4679 100644
> --- a/arch/arm/lib/interrupts.c
> +++ b/arch/arm/lib/interrupts.c
> @@ -137,10 +137,15 @@ void show_regs (struct pt_regs *regs)
>
> flags = condition_codes (regs);
>
> - printf ("pc : [<%08lx>] lr : [<%08lx>]\n"
> - "sp : %08lx ip : %08lx fp : %08lx\n",
> - instruction_pointer (regs),
> - regs->ARM_lr, regs->ARM_sp, regs->ARM_ip, regs->ARM_fp);
> + printf("pc : [<%08lx>] lr : [<%08lx>]\n",
> + instruction_pointer(regs), regs->ARM_lr);
> + if (gd->flags & GD_FLG_RELOC) {
> + printf("reloc pc : [<%08lx>] lr : [<%08lx>]\n",
> + instruction_pointer(regs) - gd->reloc_off,
> + regs->ARM_lr - gd->reloc_off);
> + }
> + printf("sp : %08lx ip : %08lx fp : %08lx\n",
> + regs->ARM_sp, regs->ARM_ip, regs->ARM_fp);
> printf ("r10: %08lx r9 : %08lx r8 : %08lx\n",
> regs->ARM_r10, regs->ARM_r9, regs->ARM_r8);
> printf ("r7 : %08lx r6 : %08lx r5 : %08lx r4 : %08lx\n",
> --
> 2.2.0.rc0.207.ga3a616c
>

Applied as a "bugfix" to u-boot-arm/master, thanks!

Amicalement,
--
Albert.