Add a loop to join the stress threads after calling abort.
This is to make sure all stress threads have already stopped
before moving on. Simply for test hygiene.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This moves the syscall torture test into another test group or
suite so that we run the individual syscall tests first before
the torture test. If individual test fails, it is easier to see
the error. Especially under SMP where multiple CPUs can report
the same error, cluttering the output.
Also rename the test to syscall_switch_stress to better describe
its purpose.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This modifies string_copy() to have an addition ID as function
argument so that it can copy into different buffers during
the multi-threaded stress test, instead of all threads writing
into the same buffer. This is to prevent a situation where
one thread writes incorrect data but being overwritten by
another thread with correct data, thus making the following
strcmp() passing for both threads. Logically this should never
happen since the same function is being called which should
give same result, but it is simply to test for weird
situations.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Prevent the modulo operation causing a division by zero error by falling
back to the minimal ACK timeout value if the random factor is 1.0. Also
fall back to the same value if the random factor is erroneously smaller
than 1.0. Additionally make the upper bound of the random range
reachable.
Signed-off-by: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
The code was casting a byte array to 32-bit words without accounting for
alignment. On some platforms (e.g. Arm Cortex-M with multiple load/store
instructions) this will fault. Fix it by using the UNALIGED_GET() macro
whenever the array is passed unaligned.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Define `ipc_conf_iron.dtsi` and `memory_map_iron.dtsi`. In the future,
they will be merged with the base `ipc_conf.dtsi` and `memory_map.dtsi`
respectively. For now, they are used to replace a few devicetree nodes
when building for `nrf54h20dk/nrf54h20/*/iron` board targets.
Additional changes are included:
* The IPC configuration includes new "nordic,ironside-call" nodes.
* The memory map includes an updated RAM20 layout. Its subregions are
placed under the `/reserved-memory` node like before.
* The memory map also includes an updated MRAM layout. Partitions are
now placed under a plain "fixed-partitions" node. MCUboot-specific
node labels are applied in `cpuapp.dts`.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
IRONside calls are remote procedure calls which comprise the runtime
interface of Nordic IRONside SE. They are realized using a simple IPC
mechanism.
A local domain (client) issues requests to the server by exchanging data
in shared memory, which is divided into evenly sized buffers. The client
selects a buffer, writes a request into it, and sends it to the server.
The server processes that request and writes a response into the same
buffer before returning it to the client.
This patch adds the initial client-side implementation on top of MBOX.
It features cache management and a blocking alloc/dispatch/release API
for synchronous, zero-copy transfers.
A new devicetree binding is added to support this implementation. It is
patterned after the `zephyr,ipc-*` bindings, where each node associates
a pair of mailboxes and a shared memory region.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
1. mcxa serial SYS_CLOCK_HW_CYCLES_PER_SEC default value is 96000000
2. mcxa166,mcxa276 works at 180000000
Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
Add a reboot implementation for the native_sim target which restarts
the current executable keeping the command line arguments after closing
all open file descriptors.
Signed-off-by: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Co-authored-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fix ethernet_hw_caps initialization in ethernet.h for
strict type checking.
g++-12: include/zephyr/net/ethernet.h:957:38: error: invalid \
conversion from 'int' to 'ethernet_hw_caps' [-fpermissive]
Signed-off-by: Daniel Nicoletti <dantti12@gmail.com>
The bt_recv() and bt_recv_prio() APIs don't exist anymore, so remove any
references to them from the Kconfig help texts.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Just a minor fix to the gnss_emul.c to fix a the missing
month_day data. Also minor spelling fixes in the test code.
Signed-off-by: Fabian Kainka <f.kainka@gmx.de>
Modify the include of toolchain/common.h to toolchain.h
The reason why we should/cannot include toolchain/common.h
is that it has an #error if included directly, and it
requires including it via toolchain.h instead.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The parameter length for this command was missing the additional
length from the arrayed parameters.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Add esp32_devkitc_wroom and esp32_devkitc_wrover on deprecated list.
Make the note on the merge in the migration guide for Zephyr v4.2.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Remove the esp32_devkitc_wroom board as near identical with wrover
variant. The differences of the two boards are covered by the user config.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
0~12.
supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
interface 0~8.
supports 16 bytes dedicated FIFO mode that only supports write or
read mode and the maximum buffer size is 256 bytes.
support non-FIFO write to shared FIFO read mode. The maximum
shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
i2c_burst_write(), i2c_write_read()
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Introduce await operation which simply blocks execution until the
SQE is signaled using the new API rtio_sqe_signal(). This is useful
for locking the bus for synchronous operations, especially those
requiring precise timing. For example, performing a transaction
within a tiny and exact time window.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Fixed the headings hierarchy as there were multiple `###` headings when
only one should be used as the document's title.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When test is run with enabled coverage, additional RAM is required
to store coverage data.
Digital Microphone test is reserving most of the available RAM
to store audio samples. Thus, test fails to build with coverage
enabled due to RAM overflow.
Decrease size of the audio buffer when coverage is enabled.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Instead of hard coding some random value to layer code, use the
code that is registered in net_mgmt.h
This way it is easier to keep track of used layer codes in the
future, and we also allow out-of-tree components a way to avoid
allocating same layer code to in-tree-source code.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The _ is a reserved character in front of the symbols so remove
it from network management event macros. The remaining string
without the _ will identify the network API anyway so having
underscore there is not needed.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of littering the source tree with hard to track
layer code definitions, have a central place where to register
the layer codes.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The buf_in_nocache function is to be used by various device drivers
to check if buffer is in noncacheable region.
The cacheable DMA buffer shall be put into section .ambiq_dma_buff
due to certain restrictions of the SoC.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
The documentation for the HCI raw interface was incorrectly talking about
the need to define buffer pools, when in fact the hci_raw module provides
the necessary API to perform buffer allocation.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Mention the changes that have happened to the Bluetooth HCI driver
interface regarding packet type encoding.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This non-standard feature never had any proper host side implementation
(e.g. it was never upstreamed to BlueZ), and since it comes with notable
maintenance overhead it's fair to just remove it.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Update the Bluetooth tests to assume the new H:4 encoding for data that's
passing between HCI drivers and their users (normally the host stack).
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Update all HCI drivers to use the new H:4 encoding for buffers passing
to/from drivers.
One behavioral change that's done in favor of simplicity, is that where
there's previously been switch statements that could return an error for
unsupported packet types now simply pass any received packet unchanged to
lower layers of the controller (or the HCI transport). Handling this is
now the responsibility of the lower layers, however in practice hitting
such scenarios means that there's a mismatch between configured host and
controller features.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Encode the packet type as a H:4 payload prefix for buffers passing to &
from HCI drivers. The existing bt_buf_set/get_type functions are
deprecated, but kept compatible with the change, except that they can only
be called once, since they modify the buffer payload.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The TBS spec states that if a value is changed during a
long read procedure, then the server shall reject
read requests with offset != 0 with a specific TBS GATT
error until the value has been read from the beginning again
(i.e. with offset = 0).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move all the vendor-specific dtsi files that were in dts/common to a
new folder under dts/ designated for vendor-specific files,
since they are not common at all, except for one vendor.
Change MAINTAINERS.yml to reflect the moving of the files.
Update migration guide for this change.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>