keymaster: Build keymaster for msm8084

Also update the hal to work with ION changes

Change-Id: I0c5abfa109119966c82a5d9cc025610cd89f9fd0
diff --git a/Android.mk b/Android.mk
index 0149764..614bcbe 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,6 +1,11 @@
 LOCAL_PATH := $(call my-dir)
 
-ifneq ($(filter msm8960 msm8974 msm8226,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8960 msm8974 msm8226 msm8084,$(TARGET_BOARD_PLATFORM)),)
+
+keymaster-def := -fvisibility=hidden -Wall
+ifeq ($(TARGET_BOARD_PLATFORM),msm8084)
+keymaster-def += -D_ION_HEAP_MASK_COMPATIBILITY_WA
+endif
 
 include $(CLEAR_VARS)
 
@@ -13,7 +18,7 @@
 LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/common/inc \
                     external/openssl/include
 
-LOCAL_C_FLAGS = -fvisibility=hidden -Wall -Werror
+LOCAL_CFLAGS := $(keymaster-def)
 
 LOCAL_SHARED_LIBRARIES := \
         libcrypto \
diff --git a/keymaster_qcom.cpp b/keymaster_qcom.cpp
index c98531e..0c66f03 100644
--- a/keymaster_qcom.cpp
+++ b/keymaster_qcom.cpp
@@ -224,7 +224,7 @@
     ion_alloc_data.align = 4096;
 
     /* memory is allocated from EBI heap */
-   ion_alloc_data.heap_id_mask= ION_HEAP(ION_QSECOM_HEAP_ID);
+   ion_alloc_data.ION_HEAP_MASK = ION_HEAP(ION_QSECOM_HEAP_ID);
 
     /* Set the memory to be uncached */
     ion_alloc_data.flags = 0;
diff --git a/keymaster_qcom.h b/keymaster_qcom.h
index 2a0d8b7..ec481dd 100644
--- a/keymaster_qcom.h
+++ b/keymaster_qcom.h
@@ -23,6 +23,12 @@
 
 __BEGIN_DECLS
 
+#ifdef _ION_HEAP_MASK_COMPATIBILITY_WA
+#define ION_HEAP_MASK heap_mask
+#else
+#define ION_HEAP_MASK heap_id_mask
+#endif
+
 /**
  * The id of this module
  */