msm_shared: scm: add support for armv8 register width mode switch

The appropriate register width for the kernel to be booted
may not match the current armv8 execution mode. Utilize
exception level change through secure monitor to request
the register width setting during an exception return, instead
of using a regular branch.

Change-Id: I004c12a1889ce53013da4860d9bea13f7597c941
diff --git a/platform/msm_shared/rules.mk b/platform/msm_shared/rules.mk
index 68ad843..7c3457e 100755
--- a/platform/msm_shared/rules.mk
+++ b/platform/msm_shared/rules.mk
@@ -149,6 +149,7 @@
 			$(LOCAL_DIR)/board.o \
 			$(LOCAL_DIR)/spmi.o \
 			$(LOCAL_DIR)/bam.o \
+			$(LOCAL_DIR)/scm.o \
 			$(LOCAL_DIR)/qpic_nand.o \
 			$(LOCAL_DIR)/gpio.o \
 			$(LOCAL_DIR)/dev_tree.o
@@ -165,6 +166,7 @@
 		$(LOCAL_DIR)/board.o \
 		$(LOCAL_DIR)/spmi.o \
 		$(LOCAL_DIR)/bam.o \
+		$(LOCAL_DIR)/scm.o \
 		$(LOCAL_DIR)/qpic_nand.o \
 		$(LOCAL_DIR)/gpio.o \
 		$(LOCAL_DIR)/dev_tree.o
@@ -283,6 +285,7 @@
 			$(LOCAL_DIR)/nand.o \
 			$(LOCAL_DIR)/uart_dm.o \
 			$(LOCAL_DIR)/interrupts.o \
+			$(LOCAL_DIR)/scm.o \
 			$(LOCAL_DIR)/timer.o
 endif
 
@@ -296,6 +299,7 @@
 			$(LOCAL_DIR)/spmi.o \
 			$(LOCAL_DIR)/qpic_nand.o \
 			$(LOCAL_DIR)/bam.o \
+			$(LOCAL_DIR)/scm.o \
 			$(LOCAL_DIR)/dev_tree.o \
 			$(LOCAL_DIR)/clock.o \
 			$(LOCAL_DIR)/clock_pll.o \
@@ -312,6 +316,7 @@
 			$(LOCAL_DIR)/spmi.o \
 			$(LOCAL_DIR)/qpic_nand.o \
 			$(LOCAL_DIR)/bam.o \
+			$(LOCAL_DIR)/scm.o \
 			$(LOCAL_DIR)/dev_tree.o \
 			$(LOCAL_DIR)/clock.o \
 			$(LOCAL_DIR)/clock_pll.o \