Am 05.05.20 um 01:17 schrieb Simon Glass:
> We don't really want to have ARM-specific code in a generic file. Create
> a new arch-specific function to hold it, and move it into that.
> 
> Make the function weak so that any arch can implement it.
> 
> Signed-off-by: Simon Glass <s...@chromium.org>
> ---
> 
>  arch/arm/lib/Makefile |  1 +
>  arch/arm/lib/bdinfo.c | 51 +++++++++++++++++++++++++++++++++++++++++++
>  cmd/bdinfo.c          | 44 +++++--------------------------------
>  include/init.h        |  3 +++
>  4 files changed, 61 insertions(+), 38 deletions(-)
>  create mode 100644 arch/arm/lib/bdinfo.c
> 
> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
> index b839aa7a50..27b12e7f2b 100644
> --- a/arch/arm/lib/Makefile
> +++ b/arch/arm/lib/Makefile
> @@ -43,6 +43,7 @@ obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMSET) += memset.o
>  obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMCPY) += memcpy.o
>  obj-$(CONFIG_SEMIHOSTING) += semihosting.o
>  
> +obj-y        += bdinfo.o
>  obj-y        += sections.o
>  obj-y        += stack.o
>  ifdef CONFIG_CPU_V7M
> diff --git a/arch/arm/lib/bdinfo.c b/arch/arm/lib/bdinfo.c
> new file mode 100644
> index 0000000000..ce8edd0313
> --- /dev/null
> +++ b/arch/arm/lib/bdinfo.c
> @@ -0,0 +1,51 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * ARM-specific information for the 'bd' command
> + *
> + * (C) Copyright 2003
> + * Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> + */
> +
> +#include <common.h>
> +#include <init.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +void arch_print_bdinfo(void)
> +{
> +#ifdef CONFIG_SYS_MEM_RESERVE_SECURE
> +     if (gd->arch.secure_ram & MEM_RESERVE_SECURE_SECURED) {
> +             bdinfo_print_num("Secure ram",
> +                              gd->arch.secure_ram &
> +                              MEM_RESERVE_SECURE_ADDR_MASK);
> +     }
> +#endif
> +#ifdef CONFIG_RESV_RAM
> +     if (gd->arch.resv_ram)
> +             bdinfo_print_num("Reserved ram", gd->arch.resv_ram);
> +#endif
> +#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
> +     bdinfo_print_num("TLB addr", gd->arch.tlb_addr);
> +#endif
> +     bdinfo_print_num("irq_sp", gd->irq_sp); /* irq stack pointer */
> +     bdinfo_print_num("sp start ", gd->start_addr_sp);
> +     /*
> +      * TODO: Currently only support for davinci SOC's is added.
> +      * Remove this check once all the board implement this.
> +      */
> +#ifdef CONFIG_CLOCKS
> +     printf("ARM frequency = %ld MHz\n", gd->bd->bi_arm_freq);
> +     printf("DSP frequency = %ld MHz\n", gd->bd->bi_dsp_freq);
> +     printf("DDR frequency = %ld MHz\n", gd->bd->bi_ddr_freq);
> +#endif
> +#ifdef CONFIG_BOARD_TYPES
> +     printf("Board Type  = %ld\n", gd->board_type);
> +#endif



> +#if CONFIG_VAL(SYS_MALLOC_F_LEN)
> +     printf("Early malloc usage: %lx / %x\n", gd->malloc_ptr,
> +            CONFIG_VAL(SYS_MALLOC_F_LEN));
> +#endif
> +#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
> +     bdinfo_print_num("multi_dtb_fit", (ulong)gd->multi_dtb_fit);
> +#endif
> +}

that part is not really ARM specific. Maybe it's useful in the generic
function?

-- 
- Daniel

Reply via email to