From: Linus Walleij Date: Mon, 11 May 2015 08:03:57 +0000 (+0200) Subject: vexpress64: fix various memory issues X-Git-Tag: v2015.07-rc2~78 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=303557089f3db253eaec6f38dece204fd154b6ac;p=oweals%2Fu-boot.git vexpress64: fix various memory issues The ARM Trusted Firmware or other security solutions are eating memory from the top of the physical SDRAM1 space, moving backward from 0xffffffff, currently occupying e.g. 0xfe000000-0xffffffff with Trusted Firmware. This solution to reserving memory for secure world is not optimal, so we need to think of how the secure world and earlier boot stages should communicate to U-Boot what memory they are eating up. For now let's just put 16MB aside. Also enable the memory test command and define start and end of the test range so we can check that we actually have all that memory available and working. Suggested-by: Axel Haslam Signed-off-by: Linus Walleij --- diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index 18edd5d35b..e9d9ae3a88 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -113,9 +113,6 @@ #endif #endif /* !CONFIG_GICV3 */ -#define CONFIG_SYS_MEMTEST_START V2M_BASE -#define CONFIG_SYS_MEMTEST_END (V2M_BASE + 0x80000000) - /* Size of malloc() pool */ #define CONFIG_SYS_MALLOC_F_LEN 0x2000 #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 << 20)) @@ -182,8 +179,15 @@ /* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1 #define PHYS_SDRAM_1 (V2M_BASE) /* SDRAM Bank #1 */ -#define PHYS_SDRAM_1_SIZE 0x80000000 /* 2048 MB */ -#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +/* Top 16MB reserved for secure world use */ +#define DRAM_SEC_SIZE 0x01000000 +#define PHYS_SDRAM_1_SIZE 0x80000000 - DRAM_SEC_SIZE +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 + +/* Enable memtest */ +#define CONFIG_CMD_MEMTEST +#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1 +#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE) /* Initial environment variables */ #ifdef CONFIG_TARGET_VEXPRESS64_JUNO