diff --git a/Makefile b/Makefile
index af22808..303bd76 100644
--- a/Makefile
+++ b/Makefile
@@ -58,7 +58,8 @@ HSM_LIB_MAJOR := $(HSM_LIB_NAME).so.$(MAJOR_VER)
 SHE_LIB := $(SHE_LIB_NAME).$(SO_EXT)
 SHE_LIB_MAJOR := $(SHE_LIB_NAME).so.$(MAJOR_VER)
 
-all_tests:= $(SHE_TEST) $(HSM_TEST) $(HSM_PERF_TEST) $(V2X_TEST)
+all_tests:= $(SHE_TEST) $(HSM_TEST) $(HSM_PERF_TEST) $(V2X_TEST) $(HSM_GET_INFO) $(HSM_GENERATE_KEY) $(HSM_DELETE_KEY) $(HSM_GENERATE_KEY_SIG) $(HSM_GENERIC_API)
+
 all_libs:= $(SHE_LIB) $(NVM_LIB) $(HSM_LIB)
 
 # Make targets, must need NVM-Daemon to run successfully.
@@ -130,6 +131,12 @@ COMMON_TEST_INC=-Itest/common/include/
 
 HSM_TEST_OBJ= test/hsm/hsm_test.c $(COMMON_TEST_OBJ)
 HSM_PERF_TEST_OBJ= test/hsm/hsm_perf_test.c $(HSM_TEST_PERF_OBJ)
+HSM_GET_INFO_OBJ= test/hsm/hsm_get_info.c $(COMMON_TEST_OBJ)
+HSM_GENERATE_KEY_OBJ= test/hsm/hsm_generate_key.c $(COMMON_TEST_OBJ)
+HSM_GENERATE_KEY_SIG_OBJ= test/hsm/hsm_generate_key_signature.c $(COMMON_TEST_OBJ)
+HSM_DELETE_KEY_OBJ= test/hsm/hsm_delete_key.c $(COMMON_TEST_OBJ)
+HSM_GENERIC_API_OBJ= test/hsm/hsm_generic_api.c $(COMMON_TEST_OBJ)
+
 TEST_CFLAGS = -Wno-deprecated-declarations $(CFLAGS)
 TEST_LDFLAGS = -L $(OPENSSL_PATH) -lcrypto $(LDFLAGS) -lcrypto -lpthread
 TEST_INCLUDE_PATHS = ${INCLUDE_PATHS} -I$(OPENSSL_PATH)/include
@@ -137,7 +144,17 @@ $(HSM_TEST): $(HSM_TEST_OBJ) $(HSM_LIB)
 	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
 $(HSM_PERF_TEST): $(HSM_PERF_TEST_OBJ) $(HSM_LIB)
 	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_PERF_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
-
+$(HSM_GET_INFO): $(HSM_GET_INFO_OBJ) $(HSM_LIB)
+	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
+$(HSM_GENERATE_KEY): $(HSM_GENERATE_KEY_OBJ) $(HSM_LIB)
+	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
+$(HSM_GENERATE_KEY_SIG): $(HSM_GENERATE_KEY_SIG_OBJ) $(HSM_LIB)
+	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
+$(HSM_DELETE_KEY): $(HSM_DELETE_KEY_OBJ) $(HSM_LIB)
+	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
+$(HSM_GENERIC_API): $(HSM_GENERIC_API_OBJ) $(HSM_LIB)
+	$(CC) $^  -o $@ ${TEST_INCLUDE_PATHS} ${COMMON_TEST_INC} $(TEST_CFLAGS) $(TEST_LDFLAGS) $(GCOV_FLAGS)
+	
 SHE_TEST_OBJ=$(wildcard test/she/src/*.c)
 #SHE test app
 $(SHE_TEST): $(SHE_TEST_OBJ) $(SHE_LIB) $(NVM_LIB)
diff --git a/include/hsm/internal/hsm_key_generate.h b/include/hsm/internal/hsm_key_generate.h
index e1009cf..a71693a 100644
--- a/include/hsm/internal/hsm_key_generate.h
+++ b/include/hsm/internal/hsm_key_generate.h
@@ -40,6 +40,7 @@ typedef uint8_t hsm_op_key_gen_flags_t;
 //!< The request is completed only when the new key has been written in the NVM.
 //!< This applicable for persistent key only.
 
+			
 /**
  * Structure describing the generate key operation member arguments
  */
diff --git a/src/plat/ele/ele.mk b/src/plat/ele/ele.mk
index 463c793..889a311 100644
--- a/src/plat/ele/ele.mk
+++ b/src/plat/ele/ele.mk
@@ -7,6 +7,12 @@ MINOR_VER := 0
 
 HSM_TEST := $(PLAT)_hsm_test
 HSM_PERF_TEST := $(PLAT)_hsm_perf_test
+HSM_GET_INFO := $(PLAT)_hsm_get_info
+HSM_GENERATE_KEY := $(PLAT)_hsm_generate_key
+HSM_GENERATE_KEY_SIG := $(PLAT)_hsm_generate_key_sig
+HSM_DELETE_KEY := $(PLAT)_hsm_delete_key
+HSM_GENERIC_API := $(PLAT)_hsm_generic_api
+
 TEST_PERF_CFLAGS := -DELE_PERF
 SHE_TEST :=
 V2X_TEST :=
diff --git a/src/plat/ele/sab_msg.def b/src/plat/ele/sab_msg.def
index 80598c4..355aa77 100644
--- a/src/plat/ele/sab_msg.def
+++ b/src/plat/ele/sab_msg.def
@@ -12,8 +12,8 @@ MT_SAB_SIGN_GEN		:=	${FMW}
 MT_SAB_SIGN_PREPARE	:=	${NOT_SUPPORTED}
 MT_SAB_VERIFY_SIGN	:=	${FMW}
 MT_SAB_KEY_GENERATE	:=	${FMW}
-MT_SAB_GC_AKEY_GEN	:=	${NOT_SUPPORTED}
-MT_SAB_GC_ACRYPTO	:=	${NOT_SUPPORTED}
+MT_SAB_GC_AKEY_GEN	:=	${FMW}
+MT_SAB_GC_ACRYPTO	:=	${FMW}
 MT_SAB_KEY_GEN_EXT	:=	${NOT_SUPPORTED}
 MT_SAB_IMPORT_KEY	:=	${FMW}
 MT_SAB_DELETE_KEY	:=	${FMW}
diff --git a/test/common/test_gc_akey_gen.c b/test/common/test_gc_akey_gen.c
index 30273e0..d0997e2 100644
--- a/test/common/test_gc_akey_gen.c
+++ b/test/common/test_gc_akey_gen.c
@@ -9,7 +9,7 @@
 
 #include "hsm_api.h"
 
-#ifdef MT_SAB_GC_AKEY_GEN
+//#ifdef MT_SAB_GC_AKEY_GEN
 hsm_err_t gc_akey_gen_test(hsm_hdl_t session_hdl)
 {
 	hsm_err_t err = HSM_GENERAL_ERROR;
@@ -46,4 +46,4 @@ hsm_err_t gc_akey_gen_test(hsm_hdl_t session_hdl)
 
 	return err;
 }
-#endif
+//#endif
diff --git a/test/common/test_mac_tv.c b/test/common/test_mac_tv.c
old mode 100644
new mode 100755
diff --git a/test/common/test_utils.c b/test/common/test_utils.c
index 146b1a3..236e865 100644
--- a/test/common/test_utils.c
+++ b/test/common/test_utils.c
@@ -74,7 +74,9 @@ void key_management(uint32_t key_op,
 
 	switch (key_op) {
 	case DELETE:
+		printf("delete key!!\n");
 #ifdef HSM_MANAGE_KEY
+		printf("HSM_MANAGE_KEY!!\n");
 		memset(&mng_args, 0, sizeof(mng_args));
 		mng_args.key_identifier = key_id;
 		mng_args.flags = HSM_OP_MANAGE_KEY_FLAGS_DELETE;
@@ -84,11 +86,12 @@ void key_management(uint32_t key_op,
 		printf("hsm_manage_key ret:0x%x\n", hsmret);
 #endif
 #ifdef HSM_DELETE_KEY
+		printf("run HSM_DELETE_KEY!!\n");
 		memset(&del_args, 0, sizeof(del_args));
 		del_args.key_identifier = *key_id;
 		del_args.flags = 0;
 		hsmret = hsm_delete_key(key_mgmt_hdl, &del_args);
-		se_info("hsm_delete_key ret:0x%x\n", hsmret);
+		printf("hsm_delete_key ret:0x%x\n", hsmret);
 #endif
 		break;
 	case KEYATTR:
