feat(security): add support for SLS mitigation

This patch enables support for the gcc compiler option "-mharden-sls",
the default is not to use this option. Setting HARDEN_SLS=1 sets
"-mharden-sls=all" that enables all hardening against straight line
speculation.

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I59f5963c22431571f5aebe7e0c5642b32362f4c9
(cherry picked from commit 538516f5d3db6e2c30dfa9f0b82859389f529e78)
diff --git a/Makefile b/Makefile
index 61f4451..0ffdc27 100644
--- a/Makefile
+++ b/Makefile
@@ -386,6 +386,10 @@
 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
 TF_CFLAGS		+= 	$(call cc_option, --param=min-pagesize=0)
 
+ifeq ($(HARDEN_SLS), 1)
+        TF_CFLAGS_aarch64       +=      $(call cc_option, -mharden-sls=all)
+endif
+
 else
 # using clang
 WARNINGS	+=		-Wshift-overflow -Wshift-sign-overflow \
@@ -1049,6 +1053,7 @@
         GENERATE_COT \
         GICV2_G0_FOR_EL3 \
         HANDLE_EA_EL3_FIRST_NS \
+	HARDEN_SLS \
         HW_ASSISTED_COHERENCY \
         INVERTED_MEMMAP \
         MEASURED_BOOT \