diff --git a/Makefile b/Makefile
index 158b5be..91dee97 100644
--- a/Makefile
+++ b/Makefile
@@ -39,6 +39,220 @@
 ifeq ($(CFG_GP_TESTSUITE_ENABLE),y)
 CFG_GP_API?=1.0
 CFG_GP_XSL_PACKAGE_PATH?=$(CURDIR)/package/testsuite/global_platform/api_1.0/GP_XSL_TEE_Initial_Configuration-Test_Suite_v1_0_0-2014-12-03-STM
+
+ifeq "$(wildcard $(CFG_GP_XSL_PACKAGE_PATH) )" ""
+$(error CFG_GP_XSL_PACKAGE_PATH must contain the xsl package)
+endif
+
+ifeq "$(wildcard $(CFG_GP_PACKAGE_PATH) )" ""
+$(error CFG_GP_PACKAGE_PATH must contain the xml package from GP)
+endif
+
+ifeq "$(wildcard /usr/include/openssl )" ""
+$(error openssl must be installed)
+endif
+
+# Note that only TEE_Initial_Configuration-Test_Suite_v1_1_0_4-2014_11_07 is supported
+
+GP_XTEST_OUT_DIR=$(CURDIR)/host/xtest
+GP_XTEST_IN_DIR=${GP_XTEST_OUT_DIR}/global_platform/${CFG_GP_API}
+GP_USERTA_DIR=$(CURDIR)/ta
+
+define patch-file
+	@if [ ! -e ${1} ]; then \
+		echo "Error: File to patch is unknown: $1"; \
+		return 1; \
+	fi
+	@if [ ! -e ${2} ]; then \
+		echo "Error: Patch to apply is unknown: $2"; \
+		return 1; \
+	fi
+	@if [ ! -e ${1}.orig ]; then \
+		patch -N -b ${1} < ${2}; \
+	else \
+		echo "Warning: Patch already applied on `basename $1`"; \
+	fi
+endef
+
+# openssl .h file installation
+forgpdir=${CURDIR}/host/xtest/for_gp
+patch-openssl:
+	$(q)mkdir -p ${forgpdir}/include/openssl ${forgpdir}/lib
+	$(q)[ -d /usr/include/x86_64-linux-gnu/openssl ] && cp -r /usr/include/x86_64-linux-gnu/openssl ${forgpdir}/include
+	$(q)cp /usr/include/openssl/*.h $f ${forgpdir}/include/openssl
+
+define mv-package
+	@if [ -d ${1} ]; then \
+		mv ${1} ${CFG_GP_PACKAGE_PATH}/packages ;\
+	fi
+endef
+
+define patch-xalan
+	$(q)rm -f ${GP_XTEST_OUT_DIR}/${3} ${GP_XTEST_OUT_DIR}/${3}.orig
+	$(q)xalan -in ${GP_XTEST_IN_DIR}/${1} -xsl ${GP_XTEST_IN_DIR}/${2} -out ${GP_XTEST_OUT_DIR}/${3}
+endef
+
+# Generate host files
+define patch-cp-ta
+	$(q)rm -rf $(GP_USERTA_DIR)/${3}
+	$(q)mkdir -p $(GP_USERTA_DIR)/${3}
+	$(q)cp -p $(CFG_GP_PACKAGE_PATH)/${1}/* $(GP_USERTA_DIR)/${3}
+	$(q)cp -p $(CFG_GP_XSL_PACKAGE_PATH)/${2}/* $(GP_USERTA_DIR)/${3}
+endef
+
+patch-generate-host: patch-package
+	@echo "INFO: Generate host tests"
+	$(q) mkdir -p ${GP_XTEST_IN_DIR} ${GP_XTEST_IN_DIR}
+	$(q)find ${CFG_GP_PACKAGE_PATH}/packages -type f -name "*.xml" -exec cp -p {} ${GP_XTEST_IN_DIR} \;
+	$(q)find ${CFG_GP_XSL_PACKAGE_PATH}/packages -type f -name "*.xsl" -exec cp -p {} ${GP_XTEST_IN_DIR} \;
+	$(call patch-xalan,TEE.xml,adbg_case_declare.xsl,adbg_case_declare.h)
+	$(call patch-xalan,TEE.xml,adbg_entry_declare.xsl,adbg_entry_declare.h)
+	$(call patch-xalan,TEE.xml,TEE.xsl,xtest_7000.c)
+	$(call patch-xalan,TEE_DataStorage_API.xml,TEE_DataStorage_API.xsl,xtest_7500.c)
+	$(call patch-xalan,TEE_Internal_API.xml,TEE_Internal_API.xsl,xtest_8000.c)
+	$(call patch-xalan,TEE_TimeArithm_API.xml,TEE_TimeArithm_API.xsl,xtest_8500.c)
+	$(call patch-xalan,TEE_Crypto_API.xml,TEE_Crypto_API.xsl,xtest_9000.c)
+	@echo "INFO: Patch host tests"
+	# $(q)sed -i '752 c\    xtest_tee_deinit();\n' ${GP_XTEST_OUT_DIR}/xtest_7000.c
+	# $(q)sed -i '1076 c\    xtest_tee_deinit();\n' ${GP_XTEST_OUT_DIR}/xtest_8000.c
+	# $(q)sed -i '2549 c\    xtest_tee_deinit();\n' ${GP_XTEST_OUT_DIR}/xtest_8500.c
+	# $(q)sed -i '246 c\    xtest_tee_deinit();\n' ${GP_XTEST_OUT_DIR}/xtest_9000.c
+	$(call patch-file,host/xtest/xtest_9000.c,${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_9000.c.patch)
+
+patch-generate-ta: patch-package
+	@echo "INFO: Generate TA"
+	$(call patch-cp-ta,TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files,TTAs/TTA_Arithmetical/code_files,GP_TTA_Arithmetical)
+	$(call patch-cp-ta,TTAs/TTA_DS/TTA_DS/code_files,TTAs/TTA_DS/code_files,GP_TTA_DS)
+	$(call patch-cp-ta,TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_files,TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_files,GP_TTA_answerErrorTo_Invoke)
+	$(call patch-cp-ta,TTAs/TTA_ClientAPI/TTA_check_OpenSession_with_4_parameters/code_files,TTAs/TTA_ClientAPI/TTA_check_OpenSession_with_4_parameters/code_files,GP_TTA_check_OpenSession_with_4_parameters)
+	$(q) cp $(CFG_GP_PACKAGE_PATH)/TTAs/TTA_ClientAPI/ta_check_OpenSession_with_4_parameters/code_files/TTA_check_OpenSession_with_4_parameters_protocol.h $(GP_USERTA_DIR)/GP_TTA_check_OpenSession_with_4_parameters
+	$(call patch-cp-ta,TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_files,TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_files,GP_TTA_answerErrorTo_OpenSession)
+	$(call patch-cp-ta,TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_files,TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_files,GP_TTA_testingClientAPI)
+	$(call patch-cp-ta,TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_files,TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_files,GP_TTA_answerSuccessTo_OpenSession_Invoke)
+	$(call patch-cp-ta,TTAs/TTA_Crypto/TTA_Crypto/code_files,TTAs/TTA_Crypto/code_files,GP_TTA_Crypto)
+	$(call patch-cp-ta,TTAs/TTA_Time/TTA_Time/code_files,TTAs/TTA_Time/code_files,GP_TTA_Time)
+	$(call patch-cp-ta,TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_files,TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_files,GP_TTA_TCF_SingleInstanceTA)
+	$(call patch-cp-ta,TTAs/TTA_TCF/TTA_TCF_ICA/code_files,TTAs/TTA_TCF/TTA_TCF_ICA/code_files,GP_TTA_TCF_ICA)
+	$(call patch-cp-ta,TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_files,TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_files,GP_TTA_TCF_MultipleInstanceTA)
+	$(call patch-cp-ta,TTAs/TTA_TCF/TTA_TCF_ICA2/code_files,TTAs/TTA_TCF/TTA_TCF_ICA2/code_files,GP_TTA_TCF_ICA2)
+	$(call patch-cp-ta,TTAs/TTA_TCF/TTA_TCF/code_files,TTAs/TTA_TCF/TTA_TCF/code_files,GP_TTA_TCF)
+
+# Patch the GP package
+patch-package:
+	@echo "INFO: Patch provided tests"
+	$(q)mkdir -p ${CFG_GP_PACKAGE_PATH}/packages
+	$(call mv-package,${CFG_GP_PACKAGE_PATH}/ClientAPI)
+	$(call mv-package,${CFG_GP_PACKAGE_PATH}/Crypto)
+	$(call mv-package,${CFG_GP_PACKAGE_PATH}/DataStorage)
+	$(call mv-package,${CFG_GP_PACKAGE_PATH}/Time_Arithmetical)
+	$(call mv-package,${CFG_GP_PACKAGE_PATH}/TrustedCoreFw)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/packages/ClientAPI/xmlStable/TEE.xml,${CFG_GP_XSL_PACKAGE_PATH}/packages/ClientAPI/xmlpatch/v1_1_0_4-2014_11_07/TEE.xml.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/packages/Crypto/xmlStable/TEE_Crypto_API.xml,${CFG_GP_XSL_PACKAGE_PATH}/packages/Crypto/xmlpatch/v1_1_0_4-2014_11_07/TEE_Crypto_API.xml.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/packages/DataStorage/xmlStable/TEE_DataStorage_API.xml,${CFG_GP_XSL_PACKAGE_PATH}/packages/DataStorage/xmlpatch/v1_1_0_4-2014_11_07/TEE_DataStorage_API.xml.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/packages/Time_Arithmetical/xmlStable/TEE_TimeArithm_API.xml,${CFG_GP_XSL_PACKAGE_PATH}/packages/Time_Arithmetical/xmlpatch/v1_1_0_4-2014_11_07/TEE_TimeArithm_API.xml.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/packages/TrustedCoreFw/xmlStable/TEE_Internal_API.xml,${CFG_GP_XSL_PACKAGE_PATH}/packages/TrustedCoreFw/xmlpatch/v1_1_0_4-2014_11_07/TEE_Internal_API.xml.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files/TTA_Arithmetical.c,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Arithmetical/code_patches/v1_1_0_4-2014_11_07/TTA_Arithmetical.c.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files/TTA_Arithmetical_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Arithmetical/code_patches/v1_1_0_4-2014_11_07/TTA_Arithmetical_protocol.h.patch)
+	# $(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/ta_check_OpenSession_with_4_parameters/code_files/TTA_check_OpenSession_with_4_parameters_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_check_OpenSession_with_4_parameters/code_patches/v1_1_0_4-2014_11_07/TTA_check_OpenSession_with_4_parameters_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_files/TTA_testingClientAPI_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_patches/v1_1_0_4-2014_11_07/TTA_testingClientAPI_protocol.h.patch)
+	# $(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_files/TTA_answerSuccessTo_OpenSession_Invoke_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_patches/v1_1_0_4-2014_11_07/TTA_answerSuccessTo_OpenSession_Invoke_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_files/TTA_answerErrorTo_OpenSession_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_patches/v1_1_0_4-2014_11_07/TTA_answerErrorTo_OpenSession_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_files/TTA_answerErrorTo_Invoke_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_patches/v1_1_0_4-2014_11_07/TTA_answerErrorTo_Invoke_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Crypto/TTA_Crypto/code_files/TTA_Crypto.c,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Crypto/code_patches/v1_1_0_4-2014_11_07/TTA_Crypto.c.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Crypto/TTA_Crypto/code_files/TTA_Crypto_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Crypto/code_patches/v1_1_0_4-2014_11_07/TTA_Crypto_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_DS/TTA_DS/code_files/TTA_DS_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_DS/code_patches/v1_1_0_4-2014_11_07/TTA_DS_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_DS/TTA_DS/code_files/TTA_DS.c,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_DS/code_patches/v1_1_0_4-2014_11_07/TTA_DS.c.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TEE_include/tee_internal_api.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TEE_include/code_patches/v1_1_0_4-2014_11_07/tee_internal_api.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_ICA/code_files/TTA_TCF_ICA_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_ICA/code_patches/v1_1_0_4-2014_11_07/TTA_TCF_ICA_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_files/TTA_TCF_MultipleInstanceTA_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_patches/v1_1_0_4-2014_11_07/TTA_TCF_MultipleInstanceTA_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF/code_files/TTA_TCF.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF/code_patches/v1_1_0_4-2014_11_07/TTA_TCF.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_files/TTA_TCF_SingleInstanceTA_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_patches/v1_1_0_4-2014_11_07/TTA_TCF_SingleInstanceTA_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Time/TTA_Time/code_files/TTA_Time_protocol.h,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Time/code_patches/v1_1_0_4-2014_11_07/TTA_Time_protocol.h.patch)
+	$(call patch-file,${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Time/TTA_Time/code_files/TTA_Time.c,${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Time/code_patches/v1_1_0_4-2014_11_07/TTA_Time.c.patch)
+
+define patch-filter-one
+	$(q)sed -i 's|^ADBG_SUITE_ENTRY(XTEST_TEE_'${1}', NULL)|/\*ADBG_SUITE_ENTRY(XTEST_TEE_'${1}', NULL)\*/|g' ${GP_XTEST_OUT_DIR}/xtest_main.c
+	$(q)sed -i 's|    ADBG_SUITE_ENTRY(XTEST_TEE_'${1}', NULL)\\|    /\*ADBG_SUITE_ENTRY(XTEST_TEE_'${1}', NULL)\*/\\|g' ${GP_XTEST_OUT_DIR}/adbg_entry_declare.h
+endef
+
+patch-filter:
+	@echo "INFO: Filter some tests"
+	$(call patch-filter-one,7038)
+	$(call patch-filter-one,7522)
+	$(call patch-filter-one,7538)
+	$(call patch-filter-one,7540)
+	$(call patch-filter-one,7546)
+	$(call patch-filter-one,7557)
+	$(call patch-filter-one,7522)
+	$(call patch-filter-one,7538)
+	$(call patch-filter-one,7540)
+	$(call patch-filter-one,7546)
+	$(call patch-filter-one,7557)
+	$(call patch-filter-one,7559)
+	$(call patch-filter-one,7577)
+	$(call patch-filter-one,7641)
+	$(call patch-filter-one,7642)
+	$(call patch-filter-one,7643)
+	$(call patch-filter-one,7644)
+	$(call patch-filter-one,7686)
+	$(call patch-filter-one,8025)
+	$(call patch-filter-one,8058)
+	$(call patch-filter-one,8059)
+	$(call patch-filter-one,8030)
+	$(call patch-filter-one,8066)
+	$(call patch-filter-one,8614)
+	$(call patch-filter-one,8643)
+	$(call patch-filter-one,8644)
+	$(call patch-filter-one,8673)
+	$(call patch-filter-one,8674)
+	$(call patch-filter-one,9001)
+	$(call patch-filter-one,9053)
+	$(call patch-filter-one,9072)
+	$(call patch-filter-one,9073)
+	$(call patch-filter-one,9074)
+	$(call patch-filter-one,9075)
+	$(call patch-filter-one,9079)
+	$(call patch-filter-one,9080)
+	$(call patch-filter-one,9081)
+	$(call patch-filter-one,9082)
+	$(call patch-filter-one,9085)
+	$(call patch-filter-one,9086)
+	$(call patch-filter-one,9087)
+	$(call patch-filter-one,9088)
+	$(call patch-filter-one,9090)
+	$(call patch-filter-one,9091)
+	$(call patch-filter-one,9092)
+	$(call patch-filter-one,9093)
+	$(call patch-filter-one,9095)
+	$(call patch-filter-one,9096)
+	$(call patch-filter-one,9098)
+	$(call patch-filter-one,9099)
+	$(call patch-filter-one,9104)
+	$(call patch-filter-one,9109)
+	$(call patch-filter-one,9110)
+	$(call patch-filter-one,9111)
+	$(call patch-filter-one,9145)
+	$(call patch-filter-one,9146)
+	$(call patch-filter-one,9147)
+	$(call patch-filter-one,9148)
+	$(call patch-filter-one,9149)
+	$(call patch-filter-one,9160)
+	$(call patch-filter-one,9174)
+	$(call patch-filter-one,9181)
+	$(call patch-filter-one,9182)
+	$(call patch-filter-one,9183)
+	$(call patch-filter-one,9184)
+	$(call patch-filter-one,9186)
+	$(call patch-filter-one,9187)
+	$(call patch-filter-one,9195)
+	$(call patch-filter-one,9196)
+	$(call patch-filter-one,9204)
+	$(call patch-filter-one,9239)
+
+patch: patch-openssl patch-generate-host patch-generate-ta
+	$(MAKE) patch-filter
+
+else
 patch:
-	$(q) OPTEE_TEST_ROOT=$(CURDIR) CFG_GP_API=$(CFG_GP_API) CFG_GP_XSL_PACKAGE_PATH=$(CFG_GP_XSL_PACKAGE_PATH) $(CURDIR)/scripts/patch_gp_testsuite.sh
+	$(q) echo "Please define CFG_GP_TESTSUITE_ENABLE=y" && false
 endif
