Change Statistical Profiling Extensions build option handling

It is not possible to detect at compile-time whether support for an
optional extension such as SPE should be enabled based on the
ARM_ARCH_MINOR build option value.  Therefore SPE is now enabled by
default.

Change-Id: I670db164366aa78a7095de70a0962f7c0328ab7c
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
This commit is contained in:
Dimitris Papastamos 2017-10-13 15:07:45 +01:00
parent 0fd0f22298
commit c776deed60
2 changed files with 5 additions and 14 deletions

View File

@ -344,9 +344,9 @@ Common build options
the ``ENABLE_PMF`` build option as well. Default is 0. the ``ENABLE_PMF`` build option as well. Default is 0.
- ``ENABLE_SPE_FOR_LOWER_ELS`` : Boolean option to enable Statistical Profiling - ``ENABLE_SPE_FOR_LOWER_ELS`` : Boolean option to enable Statistical Profiling
extensions. This is an optional architectural feature available only for extensions. This is an optional architectural feature for AArch64.
AArch64 8.2 onwards. This option defaults to 1 but is automatically The default is 1 but is automatically disabled when the target architecture
disabled when the target architecture is AArch32 or AArch64 8.0/8.1. is AArch32.
- ``ENABLE_STACK_PROTECTOR``: String option to enable the stack protection - ``ENABLE_STACK_PROTECTOR``: String option to enable the stack protection
checks in GCC. Allowed values are "all", "strong" and "0" (default). checks in GCC. Allowed values are "all", "strong" and "0" (default).

View File

@ -149,19 +149,10 @@ V := 0
# platforms). # platforms).
WARMBOOT_ENABLE_DCACHE_EARLY := 0 WARMBOOT_ENABLE_DCACHE_EARLY := 0
# By default, enable Statistical Profiling Extensions. # Build option to enable/disable the Statistical Profiling Extensions
# The top level Makefile will disable this feature depending on
# the target architecture and version number.
ENABLE_SPE_FOR_LOWER_ELS := 1 ENABLE_SPE_FOR_LOWER_ELS := 1
# SPE is enabled by default but only supported on AArch64 8.2 onwards. # SPE is only supported on AArch64 so disable it on AArch32.
# Disable it in all other cases.
ifeq (${ARCH},aarch32) ifeq (${ARCH},aarch32)
override ENABLE_SPE_FOR_LOWER_ELS := 0 override ENABLE_SPE_FOR_LOWER_ELS := 0
else
ifeq (${ARM_ARCH_MAJOR},8)
ifeq ($(ARM_ARCH_MINOR),$(filter $(ARM_ARCH_MINOR),0 1))
ENABLE_SPE_FOR_LOWER_ELS := 0
endif
endif
endif endif