From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Mon, 22 May 2017 21:15:40 -0400 Subject: [U-Boot] [PATCH 05/12] arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4T In-Reply-To: <20170522111732.11265-6-sjg@chromium.org> References: <20170522111732.11265-1-sjg@chromium.org> <20170522111732.11265-6-sjg@chromium.org> Message-ID: <20170523011540.GA23727@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > > 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: