From: Stephen Warren Date: Fri, 22 Jun 2018 19:03:19 +0000 (-0600) Subject: ARM: tegra: avoid using secure carveout RAM X-Git-Tag: v2018.09-rc1~25^2~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6e584e633d1072a37493aed3314065b57ef9d991;p=oweals%2Fu-boot.git ARM: tegra: avoid using secure carveout RAM If a secure carveout exists, U-Boot cannot use that memory. Fix carveout_size() to reflect this, and hence transitively fix usable_ram_size_below_4g() and board_get_usable_ram_top(). This change ensures that when U-Boot copies the secure monitor code to install it, the copy target is not in-use for U-Boot code/data. Signed-off-by: Stephen Warren Signed-off-by: Tom Warren --- diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c index 25da771607..5ecadf705e 100644 --- a/arch/arm/mach-tegra/board2.c +++ b/arch/arm/mach-tegra/board2.c @@ -249,6 +249,10 @@ static ulong carveout_size(void) { #ifdef CONFIG_ARM64 return SZ_512M; +#elif defined(CONFIG_ARMV7_SECURE_RESERVE_SIZE) + // BASE+SIZE might not == 4GB. If so, we want the carveout to cover + // from BASE to 4GB, not BASE to BASE+SIZE. + return (0 - CONFIG_ARMV7_SECURE_BASE); #else return 0; #endif