From cf1b7fe657a3215423ab397363cc4fa1a0e6399f Mon Sep 17 00:00:00 2001 From: laurenw <lauren.wehrmeister@arm.com> Date: Tue, 18 Feb 2025 14:48:45 -0600 Subject: [PATCH] feat(romlib): add PSA Crypto ROMLIB support Adding PSA Crypto MBedTLS specific jump table to allow use of ROMLIB, to be included when PSA_CRYPTO=1 and enabled. Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Iff7f0e3c5cba6b89f1732f6c80d3060498e3675d --- lib/romlib/Makefile | 11 +++++++++-- plat/arm/board/fvp/jmptbl_mbedtls_psa.i | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 plat/arm/board/fvp/jmptbl_mbedtls_psa.i diff --git a/lib/romlib/Makefile b/lib/romlib/Makefile index 01a039567..71f427312 100644 --- a/lib/romlib/Makefile +++ b/lib/romlib/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018-2024, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -23,7 +23,14 @@ PROCESSED_JMPTBL = ../../$(PLAT_DIR)/jmptbl.i # Determine if mbedtls is needed ifneq ($(filter $(CRYPTO_SUPPORT),1 2 3),) PROCESSED_JMPTBL = $(BUILD_DIR)/jmptbl_processed.i - $(shell mkdir -p $(BUILD_DIR) && cat ../../$(PLAT_DIR)/jmptbl.i ../../$(PLAT_DIR)/jmptbl_mbedtls.i > $(BUILD_DIR)/jmptbl_processed.i) + CRYPTO_JMPTBL = ../../$(PLAT_DIR)/jmptbl.i ../../$(PLAT_DIR)/jmptbl_mbedtls.i + + ifeq (${PSA_CRYPTO},1) + CRYPTO_JMPTBL += ../../$(PLAT_DIR)/jmptbl_mbedtls_psa.i + endif # ifeq (${PSA_CRYPTO},1) + + $(shell mkdir -p $(BUILD_DIR) && cat $(CRYPTO_JMPTBL) > $(PROCESSED_JMPTBL)) + LIBS += $(LIB_DIR)/libmbedtls.a endif diff --git a/plat/arm/board/fvp/jmptbl_mbedtls_psa.i b/plat/arm/board/fvp/jmptbl_mbedtls_psa.i new file mode 100644 index 000000000..4eb707bb5 --- /dev/null +++ b/plat/arm/board/fvp/jmptbl_mbedtls_psa.i @@ -0,0 +1,19 @@ +# +# Copyright (c) 2025, Arm Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# Platform-specific ROMLIB MbedTLS PSA Crypto functions can be added here. +# During the build process, this file is appended to jmptbl.i +# if MbedTLS support is required and PSA Crypto is supported. +# +# Format: +# lib function [patch] +# Example: +# mbedtls psa_crypto_init + +mbedtls mbedtls_pk_get_psa_attributes +mbedtls mbedtls_pk_import_into_psa +mbedtls psa_crypto_init +mbedtls psa_destroy_key +mbedtls psa_verify_message