mbedtls: add Kconfig to select the number of key slot in PSA Crypto core

Adding new CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT to select the number
of key slots in PSA Crypto core. The default value is 16. Be aware
that key slots consume RAM memory even if unused, so the proper value
should be a compromise between the number of slots required by
the application and the available RAM in the system.

This commit also:
- updates tests/crypto/secp256r1/mbedtls.conf to showcase how to
  use this new symbol to reduce RAM footprint.
- tests/bsim/bluetooth/mesh/overlay_psa.conf to support all the
  keys used in the test.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This commit is contained in:
Valerio Setti 2024-10-21 12:12:29 +02:00 committed by Benjamin Cabé
commit 95aaa97dc3
6 changed files with 35 additions and 1 deletions

View file

@ -36,6 +36,14 @@ Mbed TLS
:kconfig:option:`CONFIG_MBEDTLS_PSA_CRYPTO_LEGACY_RNG`. This helps in reducing
ROM/RAM footprint of the Mbed TLS library.
* The newly-added Kconfig option :kconfig:option:`CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT`
allows to specify the number of key slots available in the PSA Crypto core.
Previously this value was not explicitly set, so Mbed TLS's default value of
32 was used. The new Kconfig option defaults to 16 instead in order to find
a reasonable compromise between RAM consumption and most common use cases.
It can be further trimmed down to reduce RAM consumption if the final
application doesn't need that many key slots simultaneously.
Trusted Firmware-M
==================

View file

@ -273,6 +273,12 @@ Libraries / Subsystems
(or remove, if no other component makes use of it) heap memory requirements
from the final application.
* The Kconfig symbol :kconfig:option:`CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT` was
added to allow selecting the number of key slots available in the Mbed TLS
implementation of the PSA Crypto core. It defaults to 16. Since each
slot consumes RAM memory even if unused, this value can be tweaked in order
to minimize RAM usage.
* CMSIS-NN
* FPGA