diff options
author | Paul Beesley <paul.beesley@arm.com> | 2019-09-16 11:29:03 +0000 |
---|---|---|
committer | Manish Pandey <manish.pandey2@arm.com> | 2019-12-20 16:03:02 +0000 |
commit | 3f3c341ae58321ec1b86162916d80b6db9187759 (patch) | |
tree | 827da02849f34af25a043b72170ce50dc2d36a57 /plat/socionext/synquacer | |
parent | b8e17967bb4eaf0a28870ecb3f3b45a1e5479fe0 (diff) | |
download | trusted-firmware-a-3f3c341ae58321ec1b86162916d80b6db9187759.tar.gz |
Remove dependency between SPM_MM and ENABLE_SPM build flags
There are two different implementations of Secure Partition
management in TF-A. One is based on the "Management Mode" (MM)
design, the other is based on the Secure Partition Client Interface
(SPCI) specification. Currently there is a dependency between their
build flags that shouldn't exist, making further development
harder than it should be. This patch removes that
dependency, making the two flags function independently.
Before: ENABLE_SPM=1 is required for using either implementation.
By default, the SPCI-based implementation is enabled and
this is overridden if SPM_MM=1.
After: ENABLE_SPM=1 enables the SPCI-based implementation.
SPM_MM=1 enables the MM-based implementation.
The two build flags are mutually exclusive.
Note that the name of the ENABLE_SPM flag remains a bit
ambiguous - this will be improved in a subsequent patch. For this
patch the intention was to leave the name as-is so that it is
easier to track the changes that were made.
Change-Id: I8e64ee545d811c7000f27e8dc8ebb977d670608a
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Diffstat (limited to 'plat/socionext/synquacer')
-rw-r--r-- | plat/socionext/synquacer/platform.mk | 4 | ||||
-rw-r--r-- | plat/socionext/synquacer/sq_bl31_setup.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/plat/socionext/synquacer/platform.mk b/plat/socionext/synquacer/platform.mk index fe1448ff10..ab1f69e68c 100644 --- a/plat/socionext/synquacer/platform.mk +++ b/plat/socionext/synquacer/platform.mk @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. +# Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -57,7 +57,7 @@ BL31_SOURCES += $(PLAT_PATH)/drivers/scp/sq_scmi.c \ drivers/arm/css/mhu/css_mhu_doorbell.c endif -ifeq (${ENABLE_SPM},1) +ifeq (${SPM_MM},1) $(eval $(call add_define,PLAT_EXTRA_LD_SCRIPT)) BL31_SOURCES += $(PLAT_PATH)/sq_spm.c diff --git a/plat/socionext/synquacer/sq_bl31_setup.c b/plat/socionext/synquacer/sq_bl31_setup.c index c78fe91881..b86402179a 100644 --- a/plat/socionext/synquacer/sq_bl31_setup.c +++ b/plat/socionext/synquacer/sq_bl31_setup.c @@ -159,7 +159,7 @@ void bl31_plat_runtime_setup(void) void bl31_plat_arch_setup(void) { static const mmap_region_t secure_partition_mmap[] = { -#if ENABLE_SPM && SPM_MM +#if SPM_MM MAP_REGION_FLAT(PLAT_SPM_BUF_BASE, PLAT_SPM_BUF_SIZE, MT_RW_DATA | MT_SECURE), @@ -173,7 +173,7 @@ void bl31_plat_arch_setup(void) sq_mmap_setup(BL31_BASE, BL31_SIZE, secure_partition_mmap); enable_mmu_el3(XLAT_TABLE_NC); -#if ENABLE_SPM && SPM_MM +#if SPM_MM memcpy((void *)SPM_SHIM_EXCEPTIONS_START, (void *)SPM_SHIM_EXCEPTIONS_LMA, (uintptr_t)SPM_SHIM_EXCEPTIONS_END - |