aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRaef Coles <raef.coles@arm.com>2019-11-08 11:02:00 +0000
committerDavid Vincze <david.vincze@arm.com>2019-11-28 16:06:26 +0100
commita87a438e1942e77d35ca6235ec349f114410f181 (patch)
tree521ba16dbae8c1211370f7b2760f09c67565d40b /lib
parentc247566a3b6d679bbcba914ede77ca8069be49d8 (diff)
downloadtrusted-firmware-m-a87a438e1942e77d35ca6235ec349f114410f181.tar.gz
CC312: Support out-of-tree build for CC312
Patch CC312 build system to allow building in a user-specified build dir. Export all headers required by TF-M. Change-Id: I9de114379b8437117b30b20b00e415a0b105e01a Signed-off-by: Raef Coles <raef.coles@arm.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/ext/cryptocell-312-runtime/host/Makefile.defs2
-rw-r--r--lib/ext/cryptocell-312-runtime/host/Makefile.rules14
-rwxr-xr-xlib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile6
-rw-r--r--lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk3
-rw-r--r--lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk3
-rw-r--r--lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk7
6 files changed, 26 insertions, 9 deletions
diff --git a/lib/ext/cryptocell-312-runtime/host/Makefile.defs b/lib/ext/cryptocell-312-runtime/host/Makefile.defs
index 83a4ec75e7..554298223f 100644
--- a/lib/ext/cryptocell-312-runtime/host/Makefile.defs
+++ b/lib/ext/cryptocell-312-runtime/host/Makefile.defs
@@ -181,7 +181,7 @@ AR = armar
endif
# subfolder for compilation/generation outcome/objects/binaries
-BUILDDIR = build-$(CROSS_COMPILE:%-=%)
+BUILDDIR = $(PWD)/build-$(CROSS_COMPILE:%-=%)
# Object file suffix
OBJEXT = .o
diff --git a/lib/ext/cryptocell-312-runtime/host/Makefile.rules b/lib/ext/cryptocell-312-runtime/host/Makefile.rules
index bc83eb7324..162c4612e5 100644
--- a/lib/ext/cryptocell-312-runtime/host/Makefile.rules
+++ b/lib/ext/cryptocell-312-runtime/host/Makefile.rules
@@ -159,7 +159,7 @@ clean: clean_intermediate
.PHONY: default release test clean
# Directory creation rule
-$(PWD)/$(BUILDDIR) $(RELEASE_INCDIR) $(RELEASE_LIBDIR) $(RELEASE_EXEDIR) $(RELEASE_DATDIR):
+$(BUILDDIR) $(RELEASE_INCDIR) $(RELEASE_LIBDIR) $(RELEASE_EXEDIR) $(RELEASE_DATDIR):
@if [ ! -d $@ ] ; then $(ECHO) [MKDIR] $@ ; fi
@if [ ! -d $@ ] ; then $(call exec_logged,$(MKDIR) $@ ) ; fi
@@ -279,31 +279,31 @@ $(foreach exe,$(TARGET_EXES), $(eval $(call EXE_LINK_RULE,$(exe))))
ifneq ($(OBJECTS_FROM_C),)
# Default implicit compile rule assuming C source code (+dependency generation)
-$(OBJECTS_FROM_C): $(BUILDDIR)/%$(OBJEXT): %.c $(call DEPENDENCY_ON_EXISTENCE_OF,$(PWD)/$(BUILDDIR))
+$(OBJECTS_FROM_C): $(BUILDDIR)/%$(OBJEXT): %.c $(call DEPENDENCY_ON_EXISTENCE_OF,$(BUILDDIR)) $(addprefix $(RELEASE_INCDIR)/,$(notdir ${PUBLIC_INCLUDES}))
@$(ECHO) [CC] $< --\> $@ # Compilation
@$(call exec_logged,$(CC) $(CFLAGS) $< -o $@ )
@#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated
- @$(call exec_logged,$(CC) $(MM) $(CFLAGS) $< | sed 's/.*\.o:/$(BUILDDIR)\/&/' > $(BUILDDIR)/$*.dep )
+ @$(call exec_logged,$(CC) $(MM) $(CFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep )
# $(call exec_logged,$(SHELL) -ec '$(CC) -M $(CFLAGS) $< | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; [ -s $@ ] || rm -f $@' )
endif
ifneq ($(OBJECTS_FROM_CPP),)
# Default implicit compile rule assuming C++ source code (+dependency generation)
-$(OBJECTS_FROM_CPP): $(BUILDDIR)/%$(OBJEXT): %.cpp $(call DEPENDENCY_ON_EXISTENCE_OF,$(PWD)/$(BUILDDIR))
+$(OBJECTS_FROM_CPP): $(BUILDDIR)/%$(OBJEXT): %.cpp $(call DEPENDENCY_ON_EXISTENCE_OF,$(BUILDDIR)) $(addprefix $(RELEASE_INCDIR)/,$(notdir ${PUBLIC_INCLUDES}))
@$(ECHO) [CPP] $< --\> $@ # Compilation
@$(call exec_logged,$(CPP) $(CPPFLAGS) $< -o $@ )
@#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated
- @$(call exec_logged,$(CP) -MM $(CPPFLAGS) $< | sed 's/.*\.o:/$(BUILDDIR)\/&/' > $(BUILDDIR)/$*.dep )
+ @$(call exec_logged,$(CP) -MM $(CPPFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep )
endif
ifneq ($(OBJECTS_FROM_GENERATED_C),)
# Default implicit compile rule assuming generated C stub source code (+dependency generation)
-$(OBJECTS_FROM_GENERATED_C): $(BUILDDIR)/%$(OBJEXT): $(PWD)/$(BUILDDIR)/%.c
+$(OBJECTS_FROM_GENERATED_C): $(BUILDDIR)/%$(OBJEXT): $(PWD)/$(BUILDDIR)/%.c $(addprefix $(RELEASE_INCDIR)/,$(notdir ${PUBLIC_INCLUDES}))
@$(ECHO) [CC4GEN] $< --\> $@ # Compilation
@$(call exec_logged,$(CC) $(CFLAGS) $< -o $@ )
@#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated
- @$(call exec_logged,$(CC) -MM $(CFLAGS) $< | sed 's/.*\.o:/$(BUILDDIR)\/&/' > $(BUILDDIR)/$*.dep )
+ @$(call exec_logged,$(CC) -MM $(CFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep )
endif
diff --git a/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile b/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile
index bf93ff51e0..636b09785a 100755
--- a/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile
+++ b/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile
@@ -57,12 +57,16 @@ PUBLIC_INCLUDES += $(SHARED_INCDIR)/cc_bitops.h
PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/dx_host.h
PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/dx_nvm.h
PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/dx_reg_common.h
-PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/musca_b1/dx_reg_base_host.h
PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/cc_mng/mbedtls_cc_mng_int.h
PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/hal/cc_hal_plat.h
+PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/cc3x_productionlib/common/prod_hw_defs.h
+PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/cc3x_productionlib/common/prod_util.h
+
PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_general_defs.h $(SHARED_INCDIR)/proj/cc3x/cc_ecpki_domains_defs.h $(SHARED_INCDIR)/proj/cc3x/cc_sram_map.h
PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_pka_hw_plat_defs.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_otp_defs.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_production_asset.h
#FFCDH
PUBLIC_INCLUDES += $(CC_API)/cc_ffcdh.h $(CC_API)/cc_ffc_domain.h $(CC_API)/cc_ffcdh_error.h $(CC_API)/cc_ffc_domain_error.h
diff --git a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk
index fd03ec46cc..245482be27 100644
--- a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk
+++ b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk
@@ -73,6 +73,8 @@ VPATH += $(HOST_SRCDIR)/cc_mng
PUBLIC_INCLUDES += $(SHARED_DIR)/include/crypto_api/cc_error.h
PUBLIC_INCLUDES += cc_cmpu.h ../common/cc_prod.h ../common/cc_prod_error.h
+PUBLIC_INCLUDES += cmpu_derivation.h cmpu_llf_rnd.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/cc_mng/mbedtls_cc_mng.h
INCDIRS_EXTRA += $(HOST_SRCDIR)/pal/$(OS)
INCDIRS_EXTRA += $(SHARED_DIR)/$(CC_TEE_HW_INC_DIR)
@@ -87,6 +89,7 @@ INCDIRS_EXTRA += $(SHARED_DIR)/../mbedtls/include/mbedtls
INCDIRS_EXTRA += $(HOST_SRCDIR)/cc3x_lib
INCDIRS_EXTRA += $(HOST_SRCDIR)/hal
INCDIRS_EXTRA += $(HOST_SRCDIR)/cc_mng
+INCDIRS_EXTRA += $(SHARED_INCDIR)/cc_mng
INCDIRS_EXTRA += $(SHARED_INCDIR)/trng
INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/rnd_dma/local/
INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/rnd_dma
diff --git a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk
index cbc2b59d11..e51422b8c7 100644
--- a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk
+++ b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk
@@ -42,6 +42,7 @@ ifeq ($(CC_CONFIG_MNG_MIN_BACKUP_SIZE_IN_BYTES),)
endif
VPATH += ../common
+VPATH += $(HOST_SRCDIR)/cc3x_productionlib/cmpu
VPATH += $(HOST_SRCDIR)/pal/$(OS)
VPATH += $(HOST_SRCDIR)/hal/cc3x
VPATH += $(CODESAFE_SRCDIR)/crypto_api/cc3x_sym/driver
@@ -56,6 +57,7 @@ PUBLIC_INCLUDES += cc_dmpu.h ../common/cc_prod.h ../common/cc_prod_error.h
INCDIRS_EXTRA += $(SHARED_DIR)/$(CC_TEE_HW_INC_DIR)
INCDIRS_EXTRA += ../common
+INCDIRS_EXTRA += ../cmpu
INCDIRS_EXTRA += $(SHARED_DIR)/include/pal
INCDIRS_EXTRA += $(SHARED_DIR)/include/crypto_api
INCDIRS_EXTRA += $(HOST_SRCDIR)/pal/$(OS)
@@ -67,6 +69,7 @@ INCDIRS_EXTRA += $(SHARED_DIR)/../mbedtls/include/mbedtls
INCDIRS_EXTRA += $(HOST_SRCDIR)/cc3x_lib
INCDIRS_EXTRA += $(HOST_SRCDIR)/hal
INCDIRS_EXTRA += $(HOST_SRCDIR)/cc_mng
+INCDIRS_EXTRA += $(SHARED_INCDIR)/cc_mng
INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/
INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/common
INCDIRS_EXTRA += $(SHARED_INCDIR)/crypto_api/$(PROJ_PRD)
diff --git a/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk b/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk
index bebae14b0e..d5eb063bd0 100644
--- a/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk
+++ b/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk
@@ -19,6 +19,13 @@ SOURCES_pal_$(PLAT_OS) += cc_pal_abort_plat.c
SOURCES_pal_$(PLAT_OS) += cc_pal_trng.c
SOURCES_pal_$(PLAT_OS) += cc_pal_apbc.c
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_pal_types.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_pal_log.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_log_mask.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/$(PLAT_OS)/cc_pal_log_plat.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/$(PLAT_OS)/cc_pal_types_plat.h
+PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_pal_buff_attr.h
+
INCDIRS_EXTRA += $(SHARED_INCDIR)/pal
INCDIRS_EXTRA += $(SHARED_INCDIR)/pal/$(PLAT_OS)