[U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T

Tom Rini trini at konsulko.com
Tue May 23 01:15:40 UTC 2017


On Mon, May 22, 2017 at 05:17:25AM -0600, Simon Glass wrote:

> At present if CONFIG_ARMV7_LPAE is defined then mmu_setup() will use
> instructions which are invalid on ARMv4T. This happens on Tegra since it
> has an ARMv4T boot CPU. Add a check for the architecture version to allow
> the code to be built. It will not actually be executed by the boot CPU,
> but needs to compile.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  arch/arm/lib/cache-cp15.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
> index 0f7020a315..f293573601 100644
> --- a/arch/arm/lib/cache-cp15.c
> +++ b/arch/arm/lib/cache-cp15.c
> @@ -129,7 +129,7 @@ static inline void mmu_setup(void)
>  		dram_bank_mmu_setup(i);
>  	}
>  
> -#ifdef CONFIG_ARMV7_LPAE
> +#if defined(CONFIG_ARMV7_LPAE) && __LINUX_ARM_ARCH__ != 4
>  	/* Set up 4 PTE entries pointing to our 4 1GB page tables */
>  	for (i = 0; i < 4; i++) {
>  		u64 *page_table = (u64 *)(gd->arch.tlb_addr + (4096 * 4));

Wait, how do we get to this situation again, and how does it end up
being OK?  SPL gets built for ARMv4T and U-Boot proper is built for v7,
and we end up doing LPAE enable in full U-Boot?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170522/a6961951/attachment.sig>


More information about the U-Boot mailing list