[PATCH 01/11] imx: implement get_effective_memsize

Pali Rohár pali at kernel.org
Mon Nov 7 08:55:54 CET 2022


On Monday 07 November 2022 16:00:06 Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan at nxp.com>
> 
> To i.MX6/7 which has 2GB memory, the upper 4KB cut off, will cause the
> top 1MB not mapped as normal memory, because ARMV7-A use section
> mapping. So implement i.MX6/7 specific get_effective_memsize to fix the
> issue.
> 
> Fixes: 777aaaa706bc("common/memsize.c: Fix get_effective_memsize() to check for overflow")
> Signed-off-by: Peng Fan <peng.fan at nxp.com>

Should not just configuring CONFIG_MAX_MEM_MAPPED properly avoid that issue?

> ---
>  arch/arm/mach-imx/cache.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/cache.c b/arch/arm/mach-imx/cache.c
> index ab9b621a2a6..69a085abee7 100644
> --- a/arch/arm/mach-imx/cache.c
> +++ b/arch/arm/mach-imx/cache.c
> @@ -7,10 +7,24 @@
>  #include <cpu_func.h>
>  #include <asm/armv7.h>
>  #include <asm/cache.h>
> +#include <asm/global_data.h>
>  #include <asm/pl310.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/sys_proto.h>
>  
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +phys_size_t get_effective_memsize(void)
> +{
> +#ifndef CONFIG_MAX_MEM_MAPPED
> +	return gd->ram_size;
> +#else
> +	/* limit stack to what we can reasonable map */
> +	return ((gd->ram_size > CONFIG_MAX_MEM_MAPPED) ?
> +		CONFIG_MAX_MEM_MAPPED : gd->ram_size);
> +#endif
> +}
> +
>  void enable_ca7_smp(void)
>  {
>  	u32 val;
> -- 
> 2.36.0
> 


More information about the U-Boot mailing list