Skip to content

Conversation

@rghaddab
Copy link
Contributor

@rghaddab rghaddab commented Feb 19, 2025

This will revert the old implementation of the Settings backend for ZMS and adds the new backend merged upstream
It adds as well a style fix commit from tree

valeriosetti and others added 30 commits February 12, 2025 11:30
Explicitly enable "PSA_WANT_ALG_ECB_NO_PADDING" to select the AES ECB
mode that it is used in CMAC operation.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 12eee61)
…D rather than select

Allow the user to disable the P256-M driver in case their version of
Mbed TLS does not support this driver.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 11a8a39)
Increase the MAX_THREAD_BYTES from 5->6 to accomodate
for devices with an increased number of threads in the
tests schedule_api and dynamic_thread_stack.

Signed-off-by: Georgios Vasilakis <[email protected]>
(cherry picked from commit 37c23de)
This is a follow up to commit 770482a.

Add initialization of the `ok` variable to prevent the "may be
uninitialized" warning when `CONFIG_BOOTLOADER_MCUBOOT` is not
defined.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 6d9513e)
Mostly a revert of commit b1def71 ("arch: deprecate `_current`").

This commit was part of PR #80716 whose initial purpose was about providing
an architecture specific optimization for _current. The actual deprecation
was sneaked in later on without proper discussion.

The Zephyr core always used _current before and that was fine. It is quite
prevalent as well and the alternative is proving rather verbose.
Furthermore, as a concept, the "current thread" is not something that is
necessarily architecture specific. Therefore the primary abstraction
should not carry the arch_ prefix.

Hence this revert.

Signed-off-by: Nicolas Pitre <[email protected]>
(cherry picked from commit 46aa671)
… code

Define the generic _current directly and get rid of the generic
arch_current_get().

The SMP default implementation is now known as z_smp_current_get().
It is no longer inlined which saves significant binary size (about 10%
for some random test case I checked).

Introduce z_current_thread_set() and use it in place of
arch_current_thread_set() for updating the current thread pointer
given this is not necessarily an architecture specific operation.
The architecture specific optimization, when enabled, should only care
about its own things and not have to also update the generic
_current_cpu->current copy.

Signed-off-by: Nicolas Pitre <[email protected]>
(cherry picked from commit 7a3124d)
Repeated references to _current won't produce a different result as the
executing thread instance is always the same. Use the const attribute to
let the compiler know it may reuse a previously obtained value. This offset
the penalty for moving z_smp_current_get() out of line and provides yet
more binary size reduction.

This change is isolated in its own commit to ease bisecting in case some
unexpected misbehavior is eventually observed.

Signed-off-by: Nicolas Pitre <[email protected]>
(cherry picked from commit bc6eded)
Allowed toolchains was not set in 'board' metadata causing those to not
build and get filtered.

Fixes #83792

Signed-off-by: Anas Nashif <[email protected]>
(cherry picked from commit 1f48740)
… handling

Move enabling of counter to the test instead of test setup. Test may be
skipped in some configurations and in that case counter shall not be
started so by moving setup to the test code allows skipping test before
counter is started.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 1ee434a)
…e PM

uart120 requires device runtime to be enable. Enable it for nrf54h20dk.

When device runtime PM is used for interrupt driven and polling API
then UART device is initially suspended. It means that RX is disabled.
In order to enable RX device must be explicitly resumed using PM API.

Test is enabling UART RX (uart_rx_enable) from counter callback
(interrupt handler context). For fast instance on nrf54h20dk (uart120)
it is not allowed because PM resume can only be called from the thread
context. Because of that, test is skipped for uart120 and asynchronous
API.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit cc12f65)
Add check for MBO feature before including the source file.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 0953ea0)
Zephyr introduced postive feature flags to make advanced features
conditional but the upstream has followed a negative feature flag
for advanced features, and during upmerge these two weren't reconciled.

Fix the build in case advanced features are disabled.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit d909634)
…ed features

This feature is handy to free up some memory, so, make sure it always
builds.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 7532e73)
Default is always disabled.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 819acf1)
Fixes build issue when WMM AC feature is disabled.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 2350b6b)
Remove the HCI command & event emulation layer for ECDH commands and
events. This means that we always do the necessary operations in the host.
The existing BT_ECC Kconfig option stays, but now gets automatically
enabled when necessary (e.g. based on the BT_SMP option), which is why this
commit removes so many explicit assignments in prj.conf files.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit 09e86f3)
This option only exposes internal APIs, so there should be no need to allow
applications to set an explicit value. Instead, users of the API should
select it through Kconfig.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit d3c8cb4)
Mention the removed prompt for BT_ECC in the migration guide, and also add
a note about the removed HCI emulation layer to the release notes.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit b3c6151)
…got deprecated

This is a follow-up to commit 8cfad44.

Replace the deprecated BT_LE_ADV_CONN macro with BT_LE_ADV_CONN_FAST_2.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit f930739)
-liblc3 added a library-internal path to zephyr_interface containing
 a file that collides with common.h required e.g. by Mbed TLS
 This commit fixes build-issues by making this include-folder
 PRIVATE to the named library liblc3

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
(cherry picked from commit 2ca64a3)
-Mbed TLS requires common.h to build. The sample provides common.h
 in sample folder level but included the path to zephyr_interface.
 This commit changes the include to be sample-specific

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
(cherry picked from commit 627d2f9)
…rm_zeroize

-Adding explicit include for mbedtls/platform_util.h to get acces
 to mbedtls_platform_zeroize in ITS. Somehow not visibile in Zephyr but
 it caused build issues in nRF Connect SDK.

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
(cherry picked from commit 202c2c4)
…he boards

Bring the change that was already in place for the qemu_cortex_m3 board
to all the other ones, since also nrf52840 had a similar problem
(see issue #82812).

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 9d0b124)
The BT Host module also uses import/export PSA functions alongside the
generate one, so these PSA_WANT should be added as well.

Previously it happened to work only because Mbed TLS is enabling
IMPORT/EXPORT internally whenever GENERATE/DERIVE is set. However the
same might not be true for all PSA Crypto providers.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 222f8d8)
There's no point building the sample for platforms that do not support
networking, hence add netif dependency to reduce the CI execution
scope.

Signed-off-by: Robert Lubos <[email protected]>
(cherry picked from commit 3df9b5f)
Refactors the code to avoid 'unused variable' warning
that is problematic for some builds.

Signed-off-by: Piotr Koziar <[email protected]>
(cherry picked from commit 8f83ffc)
This is a follow-up to commit 12eee61.

Explicitly enable "PSA_WANT_ALG_ECB_NO_PADDING" to select the AES ECB
mode that it is used in CMAC operation.

This is done because CMAC uses AES-ECB, so both AES and ECB must
be explicitly enabled. Previously it worked because Mbed TLS is
not currently performing any check internally on this and it's
just enabling ECB automatically.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit dff78b4)
Define HSFLL120 clock.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 332a335)
Due to a copy-paste error, it duplicated `ttgo_lora32/esp32/procpu`.
Also, remove the `lora` tag, as it seems to be omitted from devicetree.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit c074661)
test_k_workqueue_stop uses an uninitialized variable, causing
sporadic test failures.

Signed-off-by: Robin Kastberg <[email protected]>
(cherry picked from commit 75daa43)
@rghaddab rghaddab force-pushed the rghaddab/zms-settings-backend-sdk-zephyr branch from c34880a to c0dfdec Compare February 24, 2025 23:38
aescolar and others added 11 commits February 25, 2025 07:14
Main changes since v2.4:
* libRandv2: New API to fill buffers & Wextra warning fixes
* libCryptov1: Add new AES-ECB API

Note: Like before, bsim remains fully backwards compatible

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit ebbdb10)
The models include enough of the CRACEN to run the same
nrfx drivers as in Zephyr. So let's add it to the list.

Also let's remove the RTC from the list as the hal does not
expose it anymore for this platform as the GRTC is to be used
instead.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit a211999)
…sting int

Similar to 923d4fb. Prevent overrunning the irq vector table.
This is not happening today in tree, but coverity thinks it
does. Checking for it to prevent it is not a bad idea
anyhow, so let's do it.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit cd23fdf)
…nch behind

Update the HW models module back to the main branch,
2570f4a697ce2d860ff39ec34afd91749bd66d3
leaving behind zephyr_2025_01_22
* 68df9ed Force build of cracen hal even if HAL is not 3.10

As the nordic HAL has been updated to be this version, we do not need
this hack in the HW models anymore to be able to build the CRACEN HW
models for the nrf54l15.

This update includes the following new commit in main:
* 2570f4a docs: Do not list the RTC as included for the 54L15

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit a2bb2bc)
There seems like there is no good reason for having it disabled.
For bsim boards CONFIG_SERIAL is disabled by default, there will
anyways not be any logging on the UART.

Signed-off-by: Rubin Gerritsen <[email protected]>
(cherry picked from commit a2d1b28)
This makes the bsim boards more similar to their corresponding DKs.
This makes it simpler to run samples and application requiring
the use of a console.

Signed-off-by: Rubin Gerritsen <[email protected]>
(cherry picked from commit 77de593)
… bsim

This commit describes how to build and run applications using
the console. This documentation is added because it may
not be obvious how this is done. That is, sometimes a user
may believe that the terminal launching the application is the
the console which is not the case.

Signed-off-by: Rubin Gerritsen <[email protected]>
(cherry picked from commit 0f3e6fd)
Update the HW models module to:
5dc34b26662c6ec91edf1174d775d78590b1a05b

Including the following:
* 5dc34b2 CLOCK (52-54): Silly bugfix
* 4f622b7 CLOCK (52-54): Make TASK_*CLKSTOP instantaneous and clear
          LFCLK.STAT
* 07b1bdb RADIO 54: Correct 2 comments related the CCM trigger

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 58b9583)
Update the HW models module to
dcfcffeee5c3ad8718723df4b5297caec33c23e7

Including the following:
* dcfcffe UART: Support diffent clocks, correct UART00 clock and fix
          BAUDRATE model

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit aa6d483)
Update the HW models module to
73a5d5827a94820be65b7d276d28173ec10bab9f

Including the following:
* 73a5d58 54 CCM: Fix UBSAN reported issue
          with zero size VLAs

Signed-off-by: Rubin Gerritsen <[email protected]>
(cherry picked from commit c031e12)
Fast PWM120 prevents GPIO from driving pin with low/high
state when PWM duty is 0% or 100%. In such case, regular
PWM signal generation needs to be used.

Signed-off-by: Michał Stasiak <[email protected]>
(cherry picked from commit a71f042)
@rghaddab rghaddab force-pushed the rghaddab/zms-settings-backend-sdk-zephyr branch 2 times, most recently from 10e6f7f to df87e51 Compare February 25, 2025 07:35
e-rk and others added 13 commits February 25, 2025 11:09
Added the node representing the POWER peripheral on the nRF54L20.

Upstream PR #: 85883

Signed-off-by: Rafał Kuźnia <[email protected]>
To ensure that the accesses to the radio peripheral are done with
predictable timings, the constant latency must be enabled.
The constant latency mode is enabled alongside the HFXO.

Upstream PR #: 85883

Signed-off-by: Rafał Kuźnia <[email protected]>
Fixes report targets where tfm_* and bl2_* targets wrongly
generates a footprint file by having a common target which
consists of RAM and ROM report targets

Upstream PR #: 86067

Signed-off-by: Jamie McCrae <[email protected]>
Fixes the prefix for these files to not have _report in them

Upstream PR #: 86067

Signed-off-by: Jamie McCrae <[email protected]>
nrf-squash! [nrf noup] tests: drivers: mspi: api: Add nRF54L15 overlay file

Fix device frequency for nRF54L15. SDP MSPI allows only a predefined
set of device frequencies.

Signed-off-by: Magdalena Pastula <[email protected]>
…t log twice

Macro was missing a break when single argument with non 32 bit
word argument was detect. Because of that, there were two
logging messages created for a single log entry.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 9b2532a)
…or real targets."

This reverts commit 107f9f0.

Signed-off-by: Aleksandr Khromykh <[email protected]>
…targets.

Mesh currently works with trusted storage on real targets. Until secure
storage is supported by default disable it.

Signed-off-by: Aleksandr Khromykh <[email protected]>
…ction"

This reverts commit 14d166f.

Signed-off-by: Riadh Ghaddab <[email protected]>
…emory Storage)"

This reverts commit 88e9f91.

Signed-off-by: Riadh Ghaddab <[email protected]>
…orage)

This adds the initial backend support for the ZMS storage system.

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit ef4e8dd)
This resolves some addressed comments in this PR zephyrproject-rtos#77930
as well as this PR zephyrproject-rtos#80407

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 5f7cda5)
To avoid collisions between IDs used by settings and IDs used directly
by subsystems using ZMS API, the MSB is always set to 1 for Setting's
name ID written to ZMS backend

Add as well a recovery path if the hash linked list is broken.

Upstream PR #: 86170

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit e56b55885b19628c6944a2544ca724717fbbb7b3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport v3.7.99-ncs3-branch Relates to NCS v2.9-nRF54H20-branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.