diff options
-rw-r--r-- | Android.mk | 9 | ||||
-rw-r--r-- | keymaster_qcom.cpp | 4 | ||||
-rw-r--r-- | keymaster_qcom.h | 6 |
3 files changed, 15 insertions, 4 deletions
@@ -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_SRC_FILES := keymaster_qcom.cpp 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..b828f96 100644 --- a/keymaster_qcom.cpp +++ b/keymaster_qcom.cpp @@ -224,7 +224,7 @@ static int32_t qcom_km_ION_memalloc(struct qcom_km_ion_info_t *handle, 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; @@ -677,7 +677,7 @@ static int qcom_km_close(hw_device_t *dev) static int qcom_km_get_lib_sym(qcom_keymaster_handle_t* km_handle) { - km_handle->libhandle = dlopen("/system/lib/libQSEEComAPI.so", RTLD_NOW); + km_handle->libhandle = dlopen("libQSEEComAPI.so", RTLD_NOW); if ( km_handle->libhandle ) { *(void **)(&km_handle->QSEECom_start_app) = dlsym(km_handle->libhandle,"QSEECom_start_app"); 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 */ |