platform: msm_shared: Add support for qgic3

Implement Qgicv3 driver as per armv8 specifications.
This includes reusing some of Qgicv2 implementation, so
refactor the code to move the shared code to common file
and separate the Qgicv2 & Qgicv3 logic into different
drivers.

Change-Id: Idbf985a9bec4db5879fe0ff95670df232e80664f
diff --git a/platform/msm_shared/rules.mk b/platform/msm_shared/rules.mk
index d6e048a..0ef8463 100755
--- a/platform/msm_shared/rules.mk
+++ b/platform/msm_shared/rules.mk
@@ -14,7 +14,12 @@
 	$(LOCAL_DIR)/jtag.o \
 	$(LOCAL_DIR)/partition_parser.o \
 	$(LOCAL_DIR)/hsusb.o \
-	$(LOCAL_DIR)/boot_stats.o
+	$(LOCAL_DIR)/boot_stats.o \
+	$(LOCAL_DIR)/qgic_common.o
+
+ifeq ($(ENABLE_QGIC3), 1)
+OBJS += $(LOCAL_DIR)/qgic_v3.o
+endif
 
 ifeq ($(ENABLE_SMD_SUPPORT),1)
 OBJS += \