Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

entropy: Enable the PSA RNG for nRF54H20 #2008

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

Vge0rge
Copy link
Contributor

@Vge0rge Vge0rge commented Sep 5, 2024

Check commits messages

@Vge0rge
Copy link
Contributor Author

Vge0rge commented Sep 24, 2024

I will add the equivalent code for nrf9280 soon, since I saw that this was using the PRNG as well.

Copy link
Member

@hermabe hermabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the fake entropy driver is removed, you need to add the real one for the radio core as well. Random numbers are needed by the Bluetooth controller running on the radio core. The softdevice controller uses the chosen entropy device.

@Vge0rge Vge0rge force-pushed the 54h20_psa_rng branch 4 times, most recently from 150d2d7 to b822ae1 Compare September 25, 2024 14:57
@hermabe hermabe requested review from hermabe and removed request for hermabe September 26, 2024 06:40
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng branch 3 times, most recently from a14ae71 to 11de823 Compare October 1, 2024 11:17
Copy link
Contributor

@tomi-font tomi-font left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you clean up the commits (e.g. you have [nrf noup] boards: nordic: Enable SSF PSA and reqs and the next commit reverts it) so it would be easier to review?

@tomi-font tomi-font self-requested a review November 7, 2024 09:38
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng branch 4 times, most recently from 57ae764 to 5dcbb55 Compare November 11, 2024 15:38
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng branch 4 times, most recently from 8622c0c to f134485 Compare November 21, 2024 13:02
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng branch 2 times, most recently from b12c23c to 10e2b51 Compare December 4, 2024 22:14
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng branch 4 times, most recently from 295edb9 to b99f2a0 Compare December 13, 2024 08:35
tomi-font and others added 11 commits December 23, 2024 12:08
…it timeouts

Some code that automatically gets embedded on some platforms relies
on having `CONFIG_TIMEOUT_64BIT` enabled.
Do not force disabling that Kconfig option in the test configuration,
as that will make the test fail to compile on those platforms.

Signed-off-by: Tomi Fontanilles <[email protected]>
(cherry picked from commit 4b9c588)
The ram0x partitions seem to be not compliant with nRF54H20
architecture and it causes that in the application dts overlay file
it is difficult to extend cpuapp_ram0x_region without modifying
whole layout.

It is better to place cpurad_ram0x_region at the beginning at
2f010000 address and then cpuapp_ram0x_region right after that.
Thanks to that, if the application needs to have more than 256 kB
of RAM, in the application dts overlay file, a user can increase
cpuapp_ram0x_region size up to 2f0be000.

Signed-off-by: Arkadiusz Balys <[email protected]>
(cherry picked from commit a53cb73)
There is a mistake and the cpuapp_ram0x_region "reg" value should
start from 0x2f011000.

Signed-off-by: Arkadiusz Balys <[email protected]>
(cherry picked from commit 1e69738)
Enable the cpusec IPC and the bellboard nodes for
the nrf54h20dk cpuapp and cpurad targets to enable
communication between domains.

Also enables the region cpurad_ram0x_region since
it is also required for the communication.

Signed-off-by: Georgios Vasilakis <[email protected]>
(cherry picked from commit fdede6a)
…BYTES

The mechanism for communication between domains requires
extra threads. So change the default value MAX_THREAD_BYTES
to allow usage of more threads.

Signed-off-by: Georgios Vasilakis <[email protected]>
(cherry picked from commit 8a190e8)
Disable the IPC communication between the domains
for the arm_thread_swap test since it is not needed
and it causes a flash oveflow for the no opmitization
test case.

Signed-off-by: Georgios Vasilakis <[email protected]>
(cherry picked from commit 28bd478)
Noup since secdom is not available upstream and it is required
for PSA RNG.

This enables the PSA RNG as the default Zephyr entropy provider
for the nrf54h20dk cpuapp and cpurad targets.

Signed-off-by: Georgios Vasilakis <[email protected]>
Noup since secdom is not available upstream and it is required
for PSA RNG.

This adds the Kconfig requirements for the PSA RNG service.

This affects the nrf54h20dk cpuapp and cpurad targets.

Signed-off-by: Georgios Vasilakis <[email protected]>
When the PSA crypto secure domain service
is enabled.

Noup since this service is not available
upstream.

This is temporary since we expect to add support for
data cache later.

This affects the nrf54h20dk cpuapp and cpurad targets.

Signed-off-by: Georgios Vasilakis <[email protected]>
Disable the mbedtls legacy tests for the nRF54H20.
We now enable the PSA entropy driver for the nRF54H20
which is incompatible with the mbedtls legacy APIs.

Noup since we only enable the PSA entropy driver in
NCS and not upstream.

Signed-off-by: Georgios Vasilakis <[email protected]>
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC is promptless so it cannot
be selected. Moreover it's also automatically enabled by
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE in the same overlay file
so there would be no need to explicitly enable it.

As for the IMPORT, EXPORT, DERIVE they are needed for the TLS connection
to work properly. Previously it was working because at least IMPORT and
EXPORT are internally enabled by Mbed TLS at build time. So here we
are basically doing the same enablements with Kconfigs in clear.

Upstream PR #: 82862

Signed-off-by: Valerio Setti <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants