aboutsummaryrefslogtreecommitdiff
path: root/core/arch/arm/plat-vexpress
diff options
context:
space:
mode:
authorVolodymyr Babchuk <vlad.babchuk@gmail.com>2016-12-06 17:45:55 +0200
committerVolodymyr Babchuk <vlad.babchuk@gmail.com>2016-12-27 18:34:29 +0200
commit0f8333b888f10f49dbdf646ff12565632d6250f0 (patch)
tree245c77f69dd2045936a4b7583943f03a4e971ece /core/arch/arm/plat-vexpress
parentc8abbbdb3ad2832a77a73adf0a573a8237e54385 (diff)
plat-vexpress/qemu: correct DRAM layout.
There are really more memory in qemu config, than configured in platform_config.h Invalid DRAM layout causes core_pbuf_is(CORE_MEM_EXTRAM) to fail when it should not. Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/arch/arm/plat-vexpress')
-rw-r--r--core/arch/arm/plat-vexpress/conf.mk2
-rw-r--r--core/arch/arm/plat-vexpress/platform_config.h26
2 files changed, 15 insertions, 13 deletions
diff --git a/core/arch/arm/plat-vexpress/conf.mk b/core/arch/arm/plat-vexpress/conf.mk
index f4037d57..5d7d8c1a 100644
--- a/core/arch/arm/plat-vexpress/conf.mk
+++ b/core/arch/arm/plat-vexpress/conf.mk
@@ -61,7 +61,7 @@ ifeq ($(CFG_CORE_SANITIZE_KADDRESS),y)
# This is unfortunately currently not possible to do in make so we have to
# calculate it offline, there's some asserts in
# core/arch/arm/kernel/generic_boot.c to check that we got it right
-CFG_ASAN_SHADOW_OFFSET=0x6e4038e0
+CFG_ASAN_SHADOW_OFFSET=0xc4e38e0
endif
$(call force,CFG_DT,y)
# SE API is only supported by QEMU Virt platform
diff --git a/core/arch/arm/plat-vexpress/platform_config.h b/core/arch/arm/plat-vexpress/platform_config.h
index fd61cd15..1e9a0141 100644
--- a/core/arch/arm/plat-vexpress/platform_config.h
+++ b/core/arch/arm/plat-vexpress/platform_config.h
@@ -28,6 +28,8 @@
#ifndef PLATFORM_CONFIG_H
#define PLATFORM_CONFIG_H
+#include <stdint.h>
+
/* Make stacks aligned to data cache line length */
#define STACK_ALIGNMENT 64
@@ -179,29 +181,29 @@
* QEMU virt specifics.
*/
-#define DRAM0_BASE 0x40000000
-#define DRAM0_SIZE (0x40000000 - DRAM0_TEERES_SIZE)
+#define DRAM0_BASE UINTPTR_C(0x40000000)
+#define DRAM0_SIZE (UINTPTR_C(0x42100000) - CFG_SHMEM_SIZE)
#define DRAM0_TEERES_BASE (DRAM0_BASE + DRAM0_SIZE)
-#define DRAM0_TEERES_SIZE (33 * 1024 * 1024)
+#define DRAM0_TEERES_SIZE CFG_SHMEM_SIZE
#ifdef CFG_WITH_PAGER
/* Emulated SRAM */
-#define TZSRAM_BASE DRAM0_TEERES_BASE
+#define TZSRAM_BASE 0x0e000000
#define TZSRAM_SIZE CFG_CORE_TZSRAM_EMUL_SIZE
-#define TZDRAM_BASE (DRAM0_TEERES_BASE + CFG_TEE_RAM_VA_SIZE)
-#define TZDRAM_SIZE (DRAM0_TEERES_SIZE - CFG_TEE_RAM_VA_SIZE \
- - CFG_SHMEM_SIZE)
+#define TZDRAM_BASE (TZSRAM_BASE + TZSRAM_SIZE)
+#define TZDRAM_SIZE (0x01000000 - TZSRAM_SIZE)
#else /* CFG_WITH_PAGER */
-#define TZDRAM_BASE DRAM0_TEERES_BASE
-#define TZDRAM_SIZE (DRAM0_TEERES_SIZE - CFG_SHMEM_SIZE)
+#define TZDRAM_BASE 0x0e000000
+#define TZDRAM_SIZE 0x01000000
#endif /* CFG_WITH_PAGER */
+
#define CFG_TEE_CORE_NB_CORE 2
#define CFG_SHMEM_START (DRAM0_TEERES_BASE + \
@@ -218,11 +220,11 @@
#error "Pager not supported for platform vexpress-qemu_armv8a"
#endif
-#define DRAM0_BASE 0x40000000
-#define DRAM0_SIZE (0x40000000 - DRAM0_TEERES_SIZE)
+#define DRAM0_BASE UINTPTR_C(0x40000000)
+#define DRAM0_SIZE (UINTPTR_C(0x42100000) - CFG_SHMEM_SIZE)
#define DRAM0_TEERES_BASE (DRAM0_BASE + DRAM0_SIZE)
-#define DRAM0_TEERES_SIZE (33 * 1024 * 1024)
+#define DRAM0_TEERES_SIZE CFG_SHMEM_SIZE
#define TZDRAM_BASE 0x0e100000
#define TZDRAM_SIZE 0x00f00000