diff options
author | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2017-04-11 14:04:56 +0100 |
---|---|---|
committer | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2017-04-19 11:56:08 +0100 |
commit | 3b211ff5712c104cc92fd2270aac99a02d57961e (patch) | |
tree | 3a3d4155ad6d56d1822da3b047a03f576021a621 /plat/arm/common | |
parent | 3d21c9452d4d5e17f545848bc4641274cdd6aa26 (diff) | |
download | arm-trusted-firmware-3b211ff5712c104cc92fd2270aac99a02d57961e.tar.gz |
ARM platforms: Add option to use xlat tables lib v1
ARM platforms have migrated to the translation tables library v2.
However, for testing purposes, it can be useful to temporarily switch
back to the old version.
This patch introduces the option `ARM_XLAT_TABLES_LIB_V1`, that switches
to v1 of the library when is set to 1. By default, it is 0, so that ARM
platforms use the new version unless specifically stated.
Updated User Guide.
Change-Id: I53d3c8dd97706f6af9c6fca0364a88ef341efd31
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'plat/arm/common')
-rw-r--r-- | plat/arm/common/arm_bl1_setup.c | 2 | ||||
-rw-r--r-- | plat/arm/common/arm_common.c | 2 | ||||
-rw-r--r-- | plat/arm/common/arm_common.mk | 17 |
3 files changed, 16 insertions, 5 deletions
diff --git a/plat/arm/common/arm_bl1_setup.c b/plat/arm/common/arm_bl1_setup.c index 8c1fde43..474dc8b2 100644 --- a/plat/arm/common/arm_bl1_setup.c +++ b/plat/arm/common/arm_bl1_setup.c @@ -30,13 +30,13 @@ #include <arch.h> #include <arm_def.h> +#include <arm_xlat_tables.h> #include <bl_common.h> #include <console.h> #include <platform_def.h> #include <plat_arm.h> #include <sp805.h> #include <utils.h> -#include <xlat_tables_v2.h> #include "../../../bl1/bl1_private.h" /* Weak definitions may be overridden in specific ARM standard platform */ diff --git a/plat/arm/common/arm_common.c b/plat/arm/common/arm_common.c index aade2212..3d67ef76 100644 --- a/plat/arm/common/arm_common.c +++ b/plat/arm/common/arm_common.c @@ -29,12 +29,12 @@ */ #include <arch.h> #include <arch_helpers.h> +#include <arm_xlat_tables.h> #include <assert.h> #include <debug.h> #include <mmio.h> #include <plat_arm.h> #include <platform_def.h> -#include <xlat_tables_v2.h> extern const mmap_region_t plat_arm_mmap[]; diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk index 891e2fbd..6627513d 100644 --- a/plat/arm/common/arm_common.mk +++ b/plat/arm/common/arm_common.mk @@ -95,6 +95,11 @@ ARM_PLAT_MT := 0 $(eval $(call assert_boolean,ARM_PLAT_MT)) $(eval $(call add_define,ARM_PLAT_MT)) +# Use translation tables library v2 by default +ARM_XLAT_TABLES_LIB_V1 := 0 +$(eval $(call assert_boolean,ARM_XLAT_TABLES_LIB_V1)) +$(eval $(call add_define,ARM_XLAT_TABLES_LIB_V1)) + # Enable PSCI_STAT_COUNT/RESIDENCY APIs on ARM platforms ENABLE_PSCI_STAT := 1 ENABLE_PMF := 1 @@ -113,11 +118,17 @@ ifeq (${ARCH}, aarch64) PLAT_INCLUDES += -Iinclude/plat/arm/common/aarch64 endif +PLAT_BL_COMMON_SOURCES += plat/arm/common/${ARCH}/arm_helpers.S \ + plat/arm/common/arm_common.c + +ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1) +PLAT_BL_COMMON_SOURCES += lib/xlat_tables/xlat_tables_common.c \ + lib/xlat_tables/${ARCH}/xlat_tables.c +else include lib/xlat_tables_v2/xlat_tables.mk -PLAT_BL_COMMON_SOURCES += ${XLAT_TABLES_LIB_SRCS} \ - plat/arm/common/${ARCH}/arm_helpers.S \ - plat/arm/common/arm_common.c +PLAT_BL_COMMON_SOURCES += ${XLAT_TABLES_LIB_SRCS} +endif BL1_SOURCES += drivers/arm/sp805/sp805.c \ drivers/io/io_fip.c \ |