[PATCH] arm64: Fix map_range() not splitting mapped blocks
Fabio Estevam
festevam at gmail.com
Tue Mar 19 13:13:12 CET 2024
Hi Pierre,
On Tue, Mar 19, 2024 at 8:39 AM Pierre-Clément Tosi <ptosi at google.com> wrote:
> This means gd->arch.tlb_addr pointing to the live PTs during setup_pgtables().
>
> In arch/arm/cpu/armv8, setup_all_pgtables() runs with SCTLR_ELx.M unset.
>
> In arch/arm/cpu/armv8/fsl-layerscape, setup_pgtables() is called twice:
>
> - early_mmu_setup() calls it with SCTLR_ELx.M unset;
> - final_mmu_setup() overwrites gd->arch.tlb_addr before calling it iff
> CFG_SYS_MEM_RESERVE_SECURE is defined i.e. if CONFIG_SYS_SOC="fsl-layerscape"
> so that <asm/arch-fsl-layerscape/config.h> gets auto-included through
> <include/config.h>.
>
> So can CONFIG_FSL_LAYERSCAPE be set while CONFIG_SYS_SOC != "fsl-layerscape"?
No, this cannot happen.
Only the following Layerscape SoCs select CONFIG_FSL_LAYERSCAPE
in arch/arm/cpu/armv8/fsl-layerscape/Kconfig:
LS1012A, LS1028A, LS1043A, LS1046A, LS1088A, LS2080A, LX2162A and LX2160A
I saw the original boot problem with the i.MX8QX.
The i.MX8QX is part of the i.MX family, not the Layerscape family.
> I suppose Fabio and Stefano can answer this and/or help with ensuring that
> setup_pgtables() is never called on live PTs.
Let me know if you need any clarification.
Thanks,
Fabio Estevam
More information about the U-Boot
mailing list