Build: Move Storage asset defs to build variables
Removes the MAX_ASSET_SIZE and NUM_ASSETS storage definitions from
flash_layout.h and adds replacement build variables for them. This
allows for greater customisation at build time and reduces duplication
between platforms.
Change-Id: If5d20ee0cb8dede28513c10572da594c02b4ee89
Signed-off-by: Jamie Fox <jamie.fox@arm.com>
diff --git a/config/config_default.cmake b/config/config_default.cmake
index 340eff5..5c2f189 100644
--- a/config/config_default.cmake
+++ b/config/config_default.cmake
@@ -71,17 +71,21 @@
############################ Partitions ########################################
set(TFM_PARTITION_PROTECTED_STORAGE ON CACHE BOOL "Enable Protected Storage partition")
-set(PS_CREATE_FLASH_LAYOUT ON CACHE BOOL "Create flash fs if it doesn't exist for Protected Storage partition")
+set(PS_CREATE_FLASH_LAYOUT ON CACHE BOOL "Create flash FS if it doesn't exist for Protected Storage partition")
set(PS_ENCRYPTION ON CACHE BOOL "Enable encryption for Protected Storage partition")
set(PS_RAM_FS OFF CACHE BOOL "Enable emulated RAM FS for platforms that don't have flash for Protected Storage partition")
set(PS_ROLLBACK_PROTECTION ON CACHE BOOL "Enable rollback protection for Protected Storage partition")
set(PS_VALIDATE_METADATA_FROM_FLASH ON CACHE BOOL "Validate filesystem metadata every time it is read from flash")
-set(PS_CRYPTO_AEAD_ALG PSA_ALG_GCM CACHE STRING "The AEAD algorithm to use for authenticated encryption in protected storage")
+set(PS_MAX_ASSET_SIZE "2048" CACHE STRING "The maximum asset size to be stored in the Protected Storage area")
+set(PS_NUM_ASSETS "10" CACHE STRING "The maximum number of assets to be stored in the Protected Storage area")
+set(PS_CRYPTO_AEAD_ALG PSA_ALG_GCM CACHE STRING "The AEAD algorithm to use for authenticated encryption in Protected Storage")
set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON CACHE BOOL "Enable Internal Trusted Storage partition")
-set(ITS_CREATE_FLASH_LAYOUT ON CACHE BOOL "Create flash fs if it doesn't exist for Interal Trusted Storage partition")
-set(ITS_RAM_FS OFF CACHE BOOL "Enable emulated RAM FS for platforms that don't have flash for Interal Trusted Storage partition")
+set(ITS_CREATE_FLASH_LAYOUT ON CACHE BOOL "Create flash FS if it doesn't exist for Internal Trusted Storage partition")
+set(ITS_RAM_FS OFF CACHE BOOL "Enable emulated RAM FS for platforms that don't have flash for Internal Trusted Storage partition")
set(ITS_VALIDATE_METADATA_FROM_FLASH ON CACHE BOOL "Validate filesystem metadata every time it is read from flash")
+set(ITS_MAX_ASSET_SIZE "512" CACHE STRING "The maximum asset size to be stored in the Internal Trusted Storage area")
+set(ITS_NUM_ASSETS "10" CACHE STRING "The maximum number of assets to be stored in the Internal Trusted Storage area")
set(ITS_BUF_SIZE "" CACHE STRING "Size of the ITS internal data transfer buffer (defaults to ITS_MAX_ASSET_SIZE if not set)")
set(TFM_PARTITION_CRYPTO ON CACHE BOOL "Enable Crypto partition")
diff --git a/config/tests/config_test_psa_api.cmake b/config/tests/config_test_psa_api.cmake
index 8171bbf..d67a626 100644
--- a/config/tests/config_test_psa_api.cmake
+++ b/config/tests/config_test_psa_api.cmake
@@ -11,3 +11,9 @@
if(CRYPTO_ENGINE_BUF_SIZE LESS 0x5000)
set(CRYPTO_ENGINE_BUF_SIZE 0x5000 CACHE STRING "Heap size for the crypto backend" FORCE)
endif()
+
+# When building for the PSA Crypto API tests, ensure the ITS max asset size is
+# set to at least the size of the largest asset created by the tests
+if (("${TEST_PSA_API}" STREQUAL "CRYPTO") AND (ITS_MAX_ASSET_SIZE LESS 1229))
+ set(ITS_MAX_ASSET_SIZE "1229" CACHE STRING "The maximum asset size to be stored in the Internal Trusted Storage area" FORCE)
+endif()
diff --git a/docs/reference/services/tfm_its_integration_guide.rst b/docs/reference/services/tfm_its_integration_guide.rst
index 7c0ca5b..17cbfe2 100644
--- a/docs/reference/services/tfm_its_integration_guide.rst
+++ b/docs/reference/services/tfm_its_integration_guide.rst
@@ -193,8 +193,8 @@
An asset is stored in a contiguous space in a block/sector. The maximum size of
an asset can be up-to the size of the data block/sector.
-Internal Trusted Storage Service Definitions
-============================================
+Internal Trusted Storage Service Platform Definitions
+=====================================================
The ITS service requires the following platform definitions:
- ``ITS_SECTOR_SIZE`` - Defines the size of the flash sectors (the smallest
@@ -206,15 +206,6 @@
- ``ITS_FLASH_PROGRAM_UNIT`` - Defines the smallest flash programmable unit in
bytes. Valid values are powers of two between 1 and ``ITS_SECTOR_SIZE``
inclusive.
-- ``ITS_MAX_ASSET_SIZE`` - Defines the maximum asset size to be stored in the
- ITS area. This size is used to define the temporary buffers used by ITS to
- read/write the asset content from/to flash. The memory used by the temporary
- buffers is allocated statically as ITS does not use dynamic memory allocation.
-- ``ITS_NUM_ASSETS`` - Defines the maximum number of assets to be stored in the
- ITS area. This number is used to dimension statically the filesystem metadata
- tables in RAM (fast access) and flash (persistent storage). The memory used by
- the filesystem metadata tables is allocated statically as ITS does not use
- dynamic memory allocation.
The sectors reserved to be used as internal trusted storage **must** be
contiguous sectors starting at ``ITS_FLASH_AREA_ADDR``.
@@ -236,13 +227,6 @@
- ``ITS_FLASH_AREA_SIZE`` - Defines the size of the dedicated flash area for
internal trusted storage in bytes.
If not defined, the platform must implement ``tfm_hal_its_fs_info()``.
-- ``ITS_BUF_SIZE``- Defines the size of the partition's internal data transfer
- buffer. If not provided, then ``ITS_MAX_ASSET_SIZE`` is used to allow asset
- data to be copied between the client and the filesystem in one iteration.
- Reducing the buffer size will decrease the RAM usage of the partition at the
- expense of latency, as data will be copied in multiple iterations. *Note:*
- when data is copied in multiple iterations, the atomicity property of the
- filesystem is lost in the case of an asynchronous power failure.
- ``ITS_MAX_BLOCK_DATA_COPY`` - Defines the buffer size used when copying data
between blocks, in bytes. If not provided, defaults to 256. Increasing this
value will increase the memory footprint of the service.
@@ -258,13 +242,15 @@
For API specification, please check:
``secure_fw/partitions/internal_trusted_storage/flash/its_flash.h``
-ITS Service Features Flags
-==========================
-ITS service defines a set of flags that can be used to compile in/out certain
-ITS service features. The ``CommonConfig.cmake`` file sets the default values
-of those flags. However, those flags values can be overwritten by setting them
-in ``platform/ext/<TARGET_NAME>.cmake`` based on the target capabilities or
-needs. The list of ITS services flags are:
+ITS Service Build Definitions
+=============================
+The ITS service uses a set of C definitions to compile in/out certain features,
+as well as to configure certain service parameters. When using the TF-M build
+system, these definitions are controlled by build flags of the same name. The
+``config/config_default.cmake`` file sets the default values of those flags, but
+they can be overwritten based on platform capabilities by setting them in
+``platform/ext/target/<TARGET_NAME>/config.cmake``. The list of ITS service
+build definitions is:
- ``ITS_CREATE_FLASH_LAYOUT``- this flag indicates that it is required
to create an ITS flash layout. If this flag is set, ITS service will
@@ -294,6 +280,23 @@
storage area is platform specific (eFlash, MRAM, etc.) and it is described
in corresponding flash_layout.h
+- ``ITS_MAX_ASSET_SIZE`` - Defines the maximum asset size to be stored in the
+ ITS area. This size is used to define the temporary buffers used by ITS to
+ read/write the asset content from/to flash. The memory used by the temporary
+ buffers is allocated statically as ITS does not use dynamic memory allocation.
+- ``ITS_NUM_ASSETS`` - Defines the maximum number of assets to be stored in the
+ ITS area. This number is used to dimension statically the filesystem metadata
+ tables in RAM (fast access) and flash (persistent storage). The memory used by
+ the filesystem metadata tables is allocated statically as ITS does not use
+ dynamic memory allocation.
+- ``ITS_BUF_SIZE``- Defines the size of the partition's internal data transfer
+ buffer. If not provided, then ``ITS_MAX_ASSET_SIZE`` is used to allow asset
+ data to be copied between the client and the filesystem in one iteration.
+ Reducing the buffer size will decrease the RAM usage of the partition at the
+ expense of latency, as data will be copied in multiple iterations. *Note:*
+ when data is copied in multiple iterations, the atomicity property of the
+ filesystem is lost in the case of an asynchronous power failure.
+
--------------
*Copyright (c) 2019-2020, Arm Limited. All rights reserved.*
diff --git a/docs/reference/services/tfm_ps_integration_guide.rst b/docs/reference/services/tfm_ps_integration_guide.rst
index 1bf35f5..0a414f4 100644
--- a/docs/reference/services/tfm_ps_integration_guide.rst
+++ b/docs/reference/services/tfm_ps_integration_guide.rst
@@ -207,8 +207,8 @@
``ps_object_defs.h``. The ``PS_OBJECT_HEADER_SIZE`` changes based on the
``PS_ENCRYPTION`` flag status.
-Protected Storage Service Definitions
-=====================================
+Protected Storage Service Platform Definitions
+==============================================
The PS service requires the following platform definitions:
- ``PS_SECTOR_SIZE`` - Defines the size of the flash sectors (the smallest
@@ -220,15 +220,6 @@
- ``PS_FLASH_PROGRAM_UNIT`` - Defines the smallest flash programmable unit in
bytes. Valid values are powers of two between 1 and ``PS_SECTOR_SIZE``
inclusive.
-- ``PS_MAX_ASSET_SIZE`` - Defines the maximum asset size to be stored in the
- PS area. This size is used to define the temporary buffers used by PS to
- read/write the asset content from/to flash. The memory used by the temporary
- buffers is allocated statically as PS does not use dynamic memory allocation.
-- ``PS_NUM_ASSETS`` - Defines the maximum number of assets to be stored in the
- PS area. This number is used to dimension statically the object table size in
- RAM (fast access) and flash (persistent storage). The memory used by the
- object table is allocated statically as PS does not use dynamic memory
- allocation.
The sectors reserved to be used as protected storage **must** be contiguous
sectors starting at ``PS_FLASH_AREA_ADDR``.
@@ -305,13 +296,15 @@
``secure_fw/partitions/protected_storage/crypto/ps_crypto_interface.c``, using
calls to the TF-M Crypto service.
-PS Service Features Flags
-=========================
-PS service defines a set of flags that can be used to compile in/out certain
-PS service features. The ``CommonConfig.cmake`` file sets the default values
-of those flags. However, those flags values can be overwritten by setting them
-in ``platform/ext/<TARGET_NAME>.cmake`` based on the target capabilities or
-needs. The list of PS services flags are:
+PS Service Build Definitions
+============================
+The PS service uses a set of C definitions to compile in/out certain features,
+as well as to configure certain service parameters. When using the TF-M build
+system, these definitions are controlled by build flags of the same name. The
+``config/config_default.cmake`` file sets the default values of those flags, but
+they can be overwritten based on platform capabilities by setting them in
+``platform/ext/target/<TARGET_NAME>/config.cmake``. The list of PS service build
+definitions is:
- ``PS_ENCRYPTION``- this flag allows to enable/disable encryption
option to encrypt the protected storage data.
@@ -348,6 +341,15 @@
storage area is platform specific (eFlash, MRAM, etc.) and it is described
in corresponding flash_layout.h
+- ``PS_MAX_ASSET_SIZE`` - Defines the maximum asset size to be stored in the
+ PS area. This size is used to define the temporary buffers used by PS to
+ read/write the asset content from/to flash. The memory used by the temporary
+ buffers is allocated statically as PS does not use dynamic memory allocation.
+- ``PS_NUM_ASSETS`` - Defines the maximum number of assets to be stored in the
+ PS area. This number is used to dimension statically the object table size in
+ RAM (fast access) and flash (persistent storage). The memory used by the
+ object table is allocated statically as PS does not use dynamic memory
+ allocation.
- ``PS_TEST_NV_COUNTERS``- this flag enables the virtual
implementation of the PS NV counters interface in
``test/suites/ps/secure/nv_counters``, which emulates NV counters in
diff --git a/platform/ext/readme.rst b/platform/ext/readme.rst
index 59f7755..aeee1fa 100644
--- a/platform/ext/readme.rst
+++ b/platform/ext/readme.rst
@@ -218,10 +218,6 @@
data.
- ``PS_FLASH_PROGRAM_UNIT`` - Defines the smallest flash programmable unit in
bytes.
-- ``PS_MAX_ASSET_SIZE`` - Defines the maximum asset size to be stored in the
- PS area.
-- ``PS_NUM_ASSETS`` - Defines the maximum number of assets to be stored in the
- PS area.
.. Note::
@@ -245,10 +241,6 @@
store the data.
- ``ITS_FLASH_PROGRAM_UNIT`` - Defines the smallest flash programmable unit in
bytes.
-- ``ITS_MAX_ASSET_SIZE`` - Defines the maximum asset size to be stored in the
- ITS area.
-- ``ITS_NUM_ASSETS`` - Defines the maximum number of assets to be stored in the
- ITS area.
.. Note::
diff --git a/platform/ext/target/cypress/psoc64/partition/flash_layout.h b/platform/ext/target/cypress/psoc64/partition/flash_layout.h
index 1bf06a1..8eb501f 100644
--- a/platform/ext/target/cypress/psoc64/partition/flash_layout.h
+++ b/platform/ext/target/cypress/psoc64/partition/flash_layout.h
@@ -131,10 +131,6 @@
#define PS_SECTORS_PER_BLOCK 0x8
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT 0x1
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE 2048
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS 10
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -156,15 +152,6 @@
#define ITS_SECTORS_PER_BLOCK (0x8)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* Decrease flash wear slightly, at the cost of increased ITS service memory */
#define ITS_MAX_BLOCK_DATA_COPY 512
diff --git a/platform/ext/target/mps2/an519/partition/flash_layout.h b/platform/ext/target/mps2/an519/partition/flash_layout.h
index ccbf5d8..8d026a3 100644
--- a/platform/ext/target/mps2/an519/partition/flash_layout.h
+++ b/platform/ext/target/mps2/an519/partition/flash_layout.h
@@ -185,10 +185,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -210,15 +206,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/mps2/an521/partition/flash_layout.h b/platform/ext/target/mps2/an521/partition/flash_layout.h
index 393c97b..f64a681 100644
--- a/platform/ext/target/mps2/an521/partition/flash_layout.h
+++ b/platform/ext/target/mps2/an521/partition/flash_layout.h
@@ -185,10 +185,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -210,15 +206,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/mps2/an539/partition/flash_layout.h b/platform/ext/target/mps2/an539/partition/flash_layout.h
index 45c028a..4ca51c7 100644
--- a/platform/ext/target/mps2/an539/partition/flash_layout.h
+++ b/platform/ext/target/mps2/an539/partition/flash_layout.h
@@ -184,10 +184,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -209,15 +205,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/mps2/fvp_sse300/partition/flash_layout.h b/platform/ext/target/mps2/fvp_sse300/partition/flash_layout.h
index 07aa140..2e8538f 100644
--- a/platform/ext/target/mps2/fvp_sse300/partition/flash_layout.h
+++ b/platform/ext/target/mps2/fvp_sse300/partition/flash_layout.h
@@ -188,10 +188,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -213,15 +209,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/mps2/sse-200_aws/partition/flash_layout.h b/platform/ext/target/mps2/sse-200_aws/partition/flash_layout.h
index 06e9bde..aca6c24 100644
--- a/platform/ext/target/mps2/sse-200_aws/partition/flash_layout.h
+++ b/platform/ext/target/mps2/sse-200_aws/partition/flash_layout.h
@@ -185,10 +185,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -210,15 +206,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/mps3/an524/partition/flash_layout.h b/platform/ext/target/mps3/an524/partition/flash_layout.h
index c40e0c6..1c433a1 100644
--- a/platform/ext/target/mps3/an524/partition/flash_layout.h
+++ b/platform/ext/target/mps3/an524/partition/flash_layout.h
@@ -173,10 +173,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -199,15 +195,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/musca_a/config.cmake b/platform/ext/target/musca_a/config.cmake
index 56392a6..5f831d7 100644
--- a/platform/ext/target/musca_a/config.cmake
+++ b/platform/ext/target/musca_a/config.cmake
@@ -7,3 +7,4 @@
set(MCUBOOT_UPGRADE_STRATEGY "RAM_LOAD" CACHE STRING "Upgrade strategy when multiple boot images are loaded [OVERWRITE_ONLY, SWAP, DIRECT_XIP, RAM_LOAD]" FORCE)
set(MCUBOOT_IMAGE_NUMBER 1 CACHE STRING "Whether to combine S and NS into either 1 image, or sign each separately" FORCE)
+set(PS_MAX_ASSET_SIZE "512" CACHE STRING "The maximum asset size to be stored in the Protected Storage area" FORCE)
diff --git a/platform/ext/target/musca_a/partition/flash_layout.h b/platform/ext/target/musca_a/partition/flash_layout.h
index 1758259..1fb6af0 100644
--- a/platform/ext/target/musca_a/partition/flash_layout.h
+++ b/platform/ext/target/musca_a/partition/flash_layout.h
@@ -192,10 +192,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (512)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -217,15 +213,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/musca_b1/partition/flash_layout.h b/platform/ext/target/musca_b1/partition/flash_layout.h
index 66d573c..ce74de5 100644
--- a/platform/ext/target/musca_b1/partition/flash_layout.h
+++ b/platform/ext/target/musca_b1/partition/flash_layout.h
@@ -191,10 +191,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -216,15 +212,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/musca_s1/partition/flash_layout.h b/platform/ext/target/musca_s1/partition/flash_layout.h
index 6534678..efff344 100644
--- a/platform/ext/target/musca_s1/partition/flash_layout.h
+++ b/platform/ext/target/musca_s1/partition/flash_layout.h
@@ -194,10 +194,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -219,15 +215,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x1)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/nordic_nrf/common/nrf5340/config.cmake b/platform/ext/target/nordic_nrf/common/nrf5340/config.cmake
index 0b30eaa..c45baae 100644
--- a/platform/ext/target/nordic_nrf/common/nrf5340/config.cmake
+++ b/platform/ext/target/nordic_nrf/common/nrf5340/config.cmake
@@ -1,5 +1,6 @@
#-------------------------------------------------------------------------------
# Copyright (c) 2020, Nordic Semiconductor ASA.
+# Copyright (c) 2020, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -8,3 +9,4 @@
set(SECURE_UART1 ON CACHE BOOL "Enable secure UART1" FORCE)
set(PSA_API_TEST_TARGET "nrf" CACHE STRING "PSA API test target" FORCE)
set(TFM_EXTRA_GENERATED_FILE_LIST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${NRF_PATH}/common/core/generated_file_list.yaml CACHE PATH "Path to extra generated file list. Appended to stardard TFM generated file list." FORCE)
+set(ITS_NUM_ASSETS "5" CACHE STRING "The maximum number of assets to be stored in the Internal Trusted Storage area" FORCE)
diff --git a/platform/ext/target/nordic_nrf/common/nrf5340/partition/flash_layout.h b/platform/ext/target/nordic_nrf/common/nrf5340/partition/flash_layout.h
index 51bbfba..c2802e5 100644
--- a/platform/ext/target/nordic_nrf/common/nrf5340/partition/flash_layout.h
+++ b/platform/ext/target/nordic_nrf/common/nrf5340/partition/flash_layout.h
@@ -178,10 +178,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -203,11 +199,6 @@
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the ITS area */
-#define ITS_MAX_ASSET_SIZE (512)
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (5)
-
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
#define TFM_NV_COUNTERS_AREA_SIZE (0x18) /* 24 Bytes */
diff --git a/platform/ext/target/nordic_nrf/common/nrf9160/config.cmake b/platform/ext/target/nordic_nrf/common/nrf9160/config.cmake
index 0b30eaa..c45baae 100644
--- a/platform/ext/target/nordic_nrf/common/nrf9160/config.cmake
+++ b/platform/ext/target/nordic_nrf/common/nrf9160/config.cmake
@@ -1,5 +1,6 @@
#-------------------------------------------------------------------------------
# Copyright (c) 2020, Nordic Semiconductor ASA.
+# Copyright (c) 2020, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -8,3 +9,4 @@
set(SECURE_UART1 ON CACHE BOOL "Enable secure UART1" FORCE)
set(PSA_API_TEST_TARGET "nrf" CACHE STRING "PSA API test target" FORCE)
set(TFM_EXTRA_GENERATED_FILE_LIST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${NRF_PATH}/common/core/generated_file_list.yaml CACHE PATH "Path to extra generated file list. Appended to stardard TFM generated file list." FORCE)
+set(ITS_NUM_ASSETS "5" CACHE STRING "The maximum number of assets to be stored in the Internal Trusted Storage area" FORCE)
diff --git a/platform/ext/target/nordic_nrf/common/nrf9160/partition/flash_layout.h b/platform/ext/target/nordic_nrf/common/nrf9160/partition/flash_layout.h
index 59a747a..4bbfb26 100644
--- a/platform/ext/target/nordic_nrf/common/nrf9160/partition/flash_layout.h
+++ b/platform/ext/target/nordic_nrf/common/nrf9160/partition/flash_layout.h
@@ -179,10 +179,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (10)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -204,11 +200,6 @@
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the ITS area */
-#define ITS_MAX_ASSET_SIZE (512)
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (5)
-
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
#define TFM_NV_COUNTERS_AREA_SIZE (0x18) /* 24 Bytes */
diff --git a/platform/ext/target/nuvoton/m2351/config.cmake b/platform/ext/target/nuvoton/m2351/config.cmake
new file mode 100644
index 0000000..68cfbf1
--- /dev/null
+++ b/platform/ext/target/nuvoton/m2351/config.cmake
@@ -0,0 +1,10 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+set(PS_MAX_ASSET_SIZE "512" CACHE STRING "The maximum asset size to be stored in the Protected Storage area" FORCE)
+set(PS_NUM_ASSETS "12" CACHE STRING "The maximum number of assets to be stored in the Protected Storage area" FORCE)
+set(ITS_NUM_ASSETS "12" CACHE STRING "The maximum number of assets to be stored in the Internal Trusted Storage area" FORCE)
diff --git a/platform/ext/target/nuvoton/m2351/partition/flash_layout.h b/platform/ext/target/nuvoton/m2351/partition/flash_layout.h
index 926edd9..85d506f 100644
--- a/platform/ext/target/nuvoton/m2351/partition/flash_layout.h
+++ b/platform/ext/target/nuvoton/m2351/partition/flash_layout.h
@@ -136,10 +136,6 @@
#define PS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (512)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (12)
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
@@ -160,10 +156,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x4)
-/* The maximum asset size to be stored in the ITS area */
-#define ITS_MAX_ASSET_SIZE (512)
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (12)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/nxp/lpcxpresso55s69/config.cmake b/platform/ext/target/nxp/lpcxpresso55s69/config.cmake
index a81c8a1..683c61f 100644
--- a/platform/ext/target/nxp/lpcxpresso55s69/config.cmake
+++ b/platform/ext/target/nxp/lpcxpresso55s69/config.cmake
@@ -4,3 +4,6 @@
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
+
+set(ITS_NUM_ASSETS "5" CACHE STRING "The maximum number of assets to be stored in the Internal Trusted Storage area" FORCE)
+set(PS_NUM_ASSETS "5" CACHE STRING "The maximum number of assets to be stored in the Protected Storage area" FORCE)
diff --git a/platform/ext/target/nxp/lpcxpresso55s69/partition/flash_layout.h b/platform/ext/target/nxp/lpcxpresso55s69/partition/flash_layout.h
index 18c37c1..2124725 100755
--- a/platform/ext/target/nxp/lpcxpresso55s69/partition/flash_layout.h
+++ b/platform/ext/target/nxp/lpcxpresso55s69/partition/flash_layout.h
@@ -211,11 +211,6 @@
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT FLASH_AREA_IMAGE_SECTOR_SIZE
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE (2048)
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS (5)
-
/* Internal Trusted Storage (ITS) Service definitions
* Note: Further documentation of these definitions can be found in the
* TF-M ITS Integration Guide. The ITS should be in the internal flash, but is
@@ -237,16 +232,6 @@
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT FLASH_AREA_IMAGE_SECTOR_SIZE
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (5)
-
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
#define TFM_NV_COUNTERS_AREA_SIZE FLASH_AREA_IMAGE_SECTOR_SIZE
diff --git a/platform/ext/target/stm/nucleo_l552ze_q/include/flash_layout.h b/platform/ext/target/stm/nucleo_l552ze_q/include/flash_layout.h
index 857e9f6..39579fc 100644
--- a/platform/ext/target/stm/nucleo_l552ze_q/include/flash_layout.h
+++ b/platform/ext/target/stm/nucleo_l552ze_q/include/flash_layout.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2020 Arm Limited. All rights reserved.
* Copyright (c) 2020 Cypress Semiconductor Corporation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -179,10 +179,6 @@
#define PS_NBR_OF_SECTORS (FLASH_PS_AREA_SIZE / PS_SECTOR_SIZE)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT 0x8
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE 2048
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS 10
#define ITS_FLASH_DEV_NAME TFM_Driver_FLASH0
@@ -198,15 +194,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x8)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/platform/ext/target/stm/stm32l562e_dk/include/flash_layout.h b/platform/ext/target/stm/stm32l562e_dk/include/flash_layout.h
index f9937b1..153e1cc 100644
--- a/platform/ext/target/stm/stm32l562e_dk/include/flash_layout.h
+++ b/platform/ext/target/stm/stm32l562e_dk/include/flash_layout.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2020 Arm Limited. All rights reserved.
* Copyright (c) 2020 Cypress Semiconductor Corporation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -179,10 +179,6 @@
#define PS_NBR_OF_SECTORS (FLASH_PS_AREA_SIZE / PS_SECTOR_SIZE)
/* Specifies the smallest flash programmable unit in bytes */
#define PS_FLASH_PROGRAM_UNIT 0x8
-/* The maximum asset size to be stored in the PS area */
-#define PS_MAX_ASSET_SIZE 2048
-/* The maximum number of assets to be stored in the PS area */
-#define PS_NUM_ASSETS 10
#define ITS_FLASH_DEV_NAME TFM_Driver_FLASH0
@@ -198,15 +194,6 @@
#define ITS_SECTORS_PER_BLOCK (0x1)
/* Specifies the smallest flash programmable unit in bytes */
#define ITS_FLASH_PROGRAM_UNIT (0x8)
-/* The maximum asset size to be stored in the ITS area */
-#ifdef PSA_API_TEST_CRYPTO
-/* Need larger asset size for PSA API Crypto compliance suite */
-#define ITS_MAX_ASSET_SIZE (1229)
-#else
-#define ITS_MAX_ASSET_SIZE (512)
-#endif
-/* The maximum number of assets to be stored in the ITS area */
-#define ITS_NUM_ASSETS (10)
/* NV Counters definitions */
#define TFM_NV_COUNTERS_AREA_ADDR FLASH_NV_COUNTERS_AREA_OFFSET
diff --git a/secure_fw/partitions/internal_trusted_storage/CMakeLists.txt b/secure_fw/partitions/internal_trusted_storage/CMakeLists.txt
index 8eb84bc..b527c51 100644
--- a/secure_fw/partitions/internal_trusted_storage/CMakeLists.txt
+++ b/secure_fw/partitions/internal_trusted_storage/CMakeLists.txt
@@ -53,14 +53,44 @@
$<$<BOOL:${PS_RAM_FS}>:PS_RAM_FS>
$<$<BOOL:${PS_ROLLBACK_PROTECTION}>:PS_ROLLBACK_PROTECTION>
$<$<BOOL:${PS_VALIDATE_METADATA_FROM_FLASH}>:PS_VALIDATE_METADATA_FROM_FLASH>
- $<$<BOOL:${PS_CRYPTO_AEAD_ALG}>:PS_CRYPTO_AEAD_ALG=${PS_CRYPTO_AEAD_ALG}>
+ PS_MAX_ASSET_SIZE=${PS_MAX_ASSET_SIZE}
+ PS_NUM_ASSETS=${PS_NUM_ASSETS}
+ PS_CRYPTO_AEAD_ALG=${PS_CRYPTO_AEAD_ALG}
PRIVATE
$<$<BOOL:${ITS_CREATE_FLASH_LAYOUT}>:ITS_CREATE_FLASH_LAYOUT>
$<$<BOOL:${ITS_RAM_FS}>:ITS_RAM_FS>
$<$<OR:$<BOOL:${ITS_VALIDATE_METADATA_FROM_FLASH}>,$<BOOL:PS_VALIDATE_METADATA_FROM_FLASH>>:ITS_VALIDATE_METADATA_FROM_FLASH>
- $<$<BOOL:${ITS_BUF_SIZE}>:ITS_BUF_SIZE>
+ ITS_MAX_ASSET_SIZE=${ITS_MAX_ASSET_SIZE}
+ ITS_NUM_ASSETS=${ITS_NUM_ASSETS}
+ $<$<BOOL:${ITS_BUF_SIZE}>:ITS_BUF_SIZE=${ITS_BUF_SIZE}>
)
+################ Display the configuration being applied #######################
+
+message(STATUS "----------- Display storage configuration - start ------------")
+
+message(STATUS "PS_CREATE_FLASH_LAYOUT is set to ${PS_CREATE_FLASH_LAYOUT}")
+message(STATUS "PS_ENCRYPTION is set to ${PS_ENCRYPTION}")
+message(STATUS "PS_RAM_FS is set to ${PS_RAM_FS}")
+message(STATUS "PS_ROLLBACK_PROTECTION is set to ${PS_ROLLBACK_PROTECTION}")
+message(STATUS "PS_VALIDATE_METADATA_FROM_FLASH is set to ${PS_VALIDATE_METADATA_FROM_FLASH}")
+message(STATUS "PS_MAX_ASSET_SIZE is set to ${PS_MAX_ASSET_SIZE}")
+message(STATUS "PS_NUM_ASSETS is set to ${PS_NUM_ASSETS}")
+message(STATUS "PS_CRYPTO_AEAD_ALG is set to ${PS_CRYPTO_AEAD_ALG}")
+
+message(STATUS "ITS_CREATE_FLASH_LAYOUT is set to ${ITS_CREATE_FLASH_LAYOUT}")
+message(STATUS "ITS_RAM_FS is set to ${ITS_RAM_FS}")
+message(STATUS "ITS_VALIDATE_METADATA_FROM_FLASH is set to ${ITS_VALIDATE_METADATA_FROM_FLASH}")
+message(STATUS "ITS_MAX_ASSET_SIZE is set to ${ITS_MAX_ASSET_SIZE}")
+message(STATUS "ITS_NUM_ASSETS is set to ${ITS_NUM_ASSETS}")
+if (${ITS_BUF_SIZE})
+ message(STATUS "ITS_BUF_SIZE is set to ${ITS_BUF_SIZE}")
+else()
+ message(STATUS "ITS_BUF_SIZE is not set (defaults to ITS_MAX_ASSET_SIZE)")
+endif()
+
+message(STATUS "----------- Display storage configuration - stop -------------")
+
############################ Secure API ########################################
target_sources(tfm_secure_api