Commit graph

105,063 commits

Author SHA1 Message Date
Reto Schneider
6c300c9c66 tests: net: buf: Improve testing coverage
Before this commit, cloning a buffer was tested only for a buffer
belonging to a reference counted pool.

By using a buffer from a pool that does not support reference counting,
the added test ensures that the non-ref-counting code path also works.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-03-22 21:01:26 -05:00
Jukka Rissanen
09abd850d9 net: shell: Do not print DHCPv4 info if IPv4 is not available
If the network interface does not enable IPv4, then it is pointless
to print DHCPv4 information when invoking "iface" shell command.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-03-22 21:00:37 -05:00
Flavio Ceolin
6b9d01f995 intel_adsp/ace: power: No pending transaction before power gate
Issue an upstream read transaction through uncached memory to flush
out all pending transactions before power down the host domain.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-03-22 21:29:33 -04:00
Reto Schneider
397b8465dc tests: kernel: interrupt: lto: Exclude builds with warning
Trying to enable LTO when CODE_DATA_RELOCATION is already enabled
produces a warning.

This commit prevents twister from building such combinations for
arch.shared_interrupt.lto.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-03-22 17:42:35 -04:00
Reto Schneider
f4430827d8 tests: kernel: common: lto: Exclude builds with warning
Trying to enable LTO when CODE_DATA_RELOCATION is already enabled
produces a warning.

This commit prevents twister from building such combinations for
kernel.common.lto.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-03-22 17:42:35 -04:00
Reto Schneider
75a3805c8b kconfig: lto: Disable when data relocation is enabled
As per issue #69730, building arch.shared_interrupt.lto and
kernel.common.lto for mimxrt685_evk or mimxrt595_evk/mimxrt595s/cm33 is
currently broken due to their usage of CONFIG_CODE_DATA_RELOCATION.

This commit disables LTO when CODE_DATA_RELOCATION is enabled, allowing
PRs with changes in the kernel code to pass the CI check.

On the down side, builds affected by this change produce a new warning:

> warning: LTO (defined at Kconfig.zephyr:430) was assigned the value
> 'y' but got the value 'n'. Check these unsatisfied dependencies:
> (!CODE_DATA_RELOCATION) (=n)

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-03-22 17:42:35 -04:00
Daniel Leung
d89e7f63fd xtensa: exiting simulator on fatal errors
There was old code to exit the simulator when there is a fatal
error. This updates the #ifdef and the function name so that
it can be used to exit both QEMU and simulator when a fatal
error occurs. This should help with twister runs as this will
fail immediately instead of having wait for timeout.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-22 16:17:41 -05:00
Daniel Leung
33f586f312 xtensa: mmu: no need to ignore array bound for SoC MMU ranges
The #pragma to ignore array bounds for xtensa_soc_mmu_ranges[]
was a remnant before code refactoring during review. Since
this array is no longer declared __weak and as a zero length
array, the #pragma to ignore array bounds is no longer needed.
So remove them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-22 16:17:22 -05:00
Daniel Leung
796d9162d1 x86: x86_64: fix tls setup in early boot
During early boot in assembly, the function parameter to
z_x86_early_tls_update_gdt() should be the pointer to
the interrupt stack. However, what was passed instead
was the pointer to the x86_cpuboot struct. So fix it to
actually pass the stack pointer (which is stashed inside
the x86_cpuboot struct).

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-22 16:15:12 -05:00
Declan Snyder
739573ee8e boards: rd_rw612_bga: Enable HWINFO
Enable some reset causes in PMU node and indicate
in the yaml support for hwinfo.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-22 15:58:03 -05:00
Declan Snyder
711375695e soc: nxp: rw: Support Reset cause setting
Support reset causes on RW SOC

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-22 15:58:03 -05:00
Declan Snyder
9607543496 drivers: hwinfo: Add RW hwinfo driver
Add RW hwinfo driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-22 15:58:03 -05:00
Declan Snyder
c6b07ef8db dts: bindings: Add RW PMU binding
Add RW PMU binding.

PMU is what records and enables the reset causes.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-22 15:58:03 -05:00
Robert Lubos
7207f35758 net: tcp: Fix ACK check in LAST_ACK state
The final ACK check during passive close was wrong - we should not
compare its SEQ number with the ACK number we've sent last, but rather
compare the ACK number it acknowledges matches our current SEQ number on
the connection. This ensures, that the ACK received is really
acknowledging the FIN packet we've sent from our side, and is not just
some earlier retransmission. Currently the latter could be the case, and
we've closed the connection prematurely. In result, when the real "final
ACK" arrived, the TCP stack replied with RST.

Subsequently, we should increment the SEQ number on the connection after
sending FIN packet, so that we are able to identify final ACK correctly,
just as it's done in active close cases.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-22 15:56:50 -05:00
Christopher Friedt
8de8bcc99c doc: posix: mark pthread_rwlockattr_setpshared as supported
Mark pthread_rwlockattr_setpshared() and
pthread_rwlockattr_getpshared() as supported in the POSIX
Options documentation.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:57 -04:00
Christopher Friedt
a010ad23bd tests: posix: tests for pthread_rwlockattr_setpshared
Add tests for pthread_rwlockattr_setpshared() and
pthread_rwlockattr_getpshared().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:57 -04:00
Christopher Friedt
1847280fb4 posix: rwlock: implement pthread_rwlockattr_setpshared
Implement pthread_rwlockattr_setpshared() and
pthread_rwlockattr_getpshared().

Both functions are required by the _POSIX_READER_WRITER_LOCKS
Option as detailed in Section E.1 of IEEE-1003.1-2017.

The _POSIX_READER_WRITER_LOCKS Option is required for PSE51,
PSE52, PSE53, and PSE54 conformance, and is otherwise mandatory
for any POSIX conforming system as per Section A.2.1.3 of
IEEE-1003-1.2017.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:57 -04:00
Christopher Friedt
61c4139925 posix: rwlock: pthread_rwlockattr_init / destroy in lib
Move the implementation of the following functions into
the posix library rather than having themn as static
inline functions.

* pthread_rwlockattr_init()
* pthread_rwlockattr_destroy()

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:57 -04:00
Christopher Friedt
457e44073b doc: posix: mark clock_getres() as supported
Mark clock_getres() as supported in the POSIX_TIMERS Option
Group.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:27 -04:00
Christopher Friedt
0084092fae tests: posix: add a test for clock_getres()
Add a test for clock_getres().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:27 -04:00
Christopher Friedt
d36dd8097e posix: clock: implement clock_getres()
clock_getres() is required by the POSIX_TIMERS Option Group
as detailed in Section E.1 of IEEE-1003.1-2017.

The POSIX_TIMERS Option Group is required for PSE51, PSE52,
PSE53, and PSE54 conformance, and is otherwise mandatory for
any POSIX conforming system as per Section A.2.1.3 of
IEEE-1003-1.2017.

With this, we have complete support for the POSIX_TIMERS
Option Group.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-03-22 16:19:27 -04:00
Jonathan Rico
06f6c5c992 doc: bsim: Move contents into .rst
This makes the information more discoverable and linkable in the docs.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-03-22 15:59:49 -04:00
Michal Smola
0f5c08548a twister: qemu: fix mps2_an521 on Windows
tfm_integration samples fail on Windows on mps2_an521 platform,
because output from ninja process running QEMU freezes in re-build
phase.
Fix it by implementing named pipes to read output from QEMU process
directly using os.open and os.read methods.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-03-22 15:59:21 -04:00
Flavio Ceolin
e2f3840380 kernel: Fix possible overflow in k_mem_map
k_mem_map additionally allocates two guard pages that are not mapped.
These pages are not being accounted when checking the provided size and
when they are added an overflow can happen and the mapped memory is not
correct.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-03-22 15:58:33 -04:00
Alberto Escolar Piedras
37a1d28a36 Revert "scripts: remove board name from the qualifiers in list_boards.py"
This reverts commit 66b475a3aa.

This commit has broken CI. Let's revert it.
See https://github.com/zephyrproject-rtos/zephyr/issues/70614

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-22 17:28:23 +01:00
Kapil Bhatt
e25c68be5d net: wifi: Set default values of dwell time
Dwell time Active or Passive is optional in wifi scan.
If user don't set the Dwell time value, it will be set
as 0. We are adding a range check in scan extensions
for dwell time. So need to set default values.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-03-22 14:26:01 +00:00
Mahesh Mahadevan
ee3db01d1a boards: frdm_mcxn947: Add MCUboot support
Add support for MCUboot running from internal flash.
Remove the MCUboot conditional check.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-22 14:25:31 +00:00
Mahesh Mahadevan
68ed426751 drivers: flash: Update mcux driver to add support for MCX flash
Add support for the MCX flash

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-22 14:25:31 +00:00
Mahesh Mahadevan
84febc3929 dts: Add support for MCX internal flash
Add support for internal flash

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-22 14:25:31 +00:00
Mahesh Mahadevan
3c3ac732ad west.yml: Pull in the NXP HAL changes for MCX Flash support
Get HAL changes to add MCX Flash support

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-22 14:25:31 +00:00
Noah Pendleton
38ad4b6d43 net: sockets: tls: Add error log when cert parse fails
Add an error log if there's a failure when attempting to load
certificates during socket connect.

Signed-off-by: Noah Pendleton <noah.pendleton@gmail.com>
2024-03-22 14:49:37 +01:00
Marcin Niestroj
0f5b5b673b boards: native_sim: document offloaded sockets driver
Document offloaded sockets driver, which is an alternative to Ethernet
driver for networking applications.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Co-authored-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
64ff60a870 doc: networking: document native_sim with offloaded sockets
Document how offloaded sockets can be used with 'native_sim' for networking
capability.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
81574fd1df samples: net: echo_server: add config for native_sim offloaded sockets
Add configuration for Native Simulator offloaded sockets.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
9359903bd6 samples: net: echo_server: add native_sim to allowed platforms
'native_sim' builds without any issues as part of twister and it also works
when manually setting up Ethernet virtual device (using
tools/net-tools/net-setup.sh).

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
5c4b587f07 samples: http_get: add tests with Native Simulator offloaded sockets
'http_get' is one of the few samples that just require connection to
internet (google.com over HTTP or HTTPS) and check if HTTP GET was
successful. Use it for minimal coverage of Native Simulator offloaded
sockets:

 * DNS resolving
 * basic TCP transfer
 * compatibility with Zephyr TLS subsystem (which required some fcntl()
   operations)

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
4f9e3fa1b7 drivers: net: nsos: support blocking accept() and recvfrom()
So far only non-blocking accept() and recvfrom() were suported. This patch
implements blocking behavior, with the use of poll(fd, POLLIN) as helper
mechanism.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
8487fcca5b drivers: net: nsos: implement poll() syscall
Use NSI_HW_EVENT() in order to periodically check for events in host
sockets. Whenever there is a socket event ready to be processed by Zephyr,
raise native_sim (newly introduced) CPU interrupt, so that Zephyr driver
can signal readiness with k_poll().

Maintain a list of Zephyr poll() executions in Zephyr context. Iterate
through them whenever there is some event to be processed.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
483c41d209 drivers: net: nsos: add F_GETFL and F_SETFL support
This allows to use Zephyr TLS subsystem with Native Sim offloaded sockets.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
4317cd4576 drivers: net: nsos: add IPv6 support
Add support for IPv6 socket offloading, next to existing IPv4 support.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
d1adffc123 drivers: net: nsos: add DNS offload support
Extend driver to support DNS by offloading getaddrinfo() and freeaddrinfo()
APIs.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Marcin Niestroj
07edc9a070 drivers: net: nsos: new driver for Native Simulator offloaded sockets
Add driver for 'native_sim' target that implements offloaded socket
networking by the use of host networking stack and wrapped BSD sockets API.

This driver has following advantages over existing networking drivers for
emulated platforms that are already in tree:
 * no TUN/TAP use means that no additional setup is required on the host
   side:
   * possible to use it within unpriviledged Docker containers, either for
     development or in CI
 * possibility to use and test offloaded sockets
   (CONFIG_NET_SOCKETS_OFFLOAD=y) with emulated target, which allows
   to increase tests coverage of this feature, without requirement of using
   hardware

Native Simulator host libc has different error codes than embedded libc
used by Zephyr. Convert between those.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-03-22 14:39:27 +01:00
Torsten Rasmussen
b29d73fcc4 cmake: add CMake configure dependency to board.yml
Fixes: #69840

Add CMake configure dependency on the board's board.yml file.
This dependency ensures that CMake will re-run and pickup any changes
to the current board's board.yml file.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-03-22 13:02:00 +00:00
Torsten Rasmussen
66b475a3aa scripts: remove board name from the qualifiers in list_boards.py
Fixes: #69329

The board name was printed as part of printing board qualifiers because
those was being concatenated in the `board_v2_qualifiers()` method.

Keep the qualifiers separated from the board name and let the caller
concatenate the strings when required.

Completion scripts are also updated to handle the corrected behaviour.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-03-22 12:42:49 +00:00
Alberto Escolar Piedras
fddbd79cf7 tests/drivers/can/timing: Remove unused overlays
The native_{posix,sim}_64 boards are not anymore twister
targets, native_{posix,sim}/native/64 are, and those
default to just use the overlays for the non variant
version.
These 2 overlays were not used by anything.
Remove them.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-22 12:42:31 +00:00
Fin Maaß
1bea938c9f mgmt: hawkbit: remove hb_context.status_buffer_size
remove hb_context.status_buffer_size and replace it with
sizeof(hb_context.status_buffer), because hb_context.status_buffer_size
is never set.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-03-22 12:42:24 +00:00
Konrad Derda
5e46a49358 tests: net: mdns: add test for external mDNS records
This commit adds a test for externally stored mDNS records for mDNS
responder.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-03-22 12:41:56 +00:00
Konrad Derda
42e6c1fbc6 net: mdns: add capability of providing records in runtime
Current implementation of mDNS responder does makes it mandatory to have
all the records set at compile time. It is not suited well for applications
that have to publish/unpublish or change records in runtime, e.g. data
received from the network.

Signed-off-by: Konrad Derda <konrad.derda@nordicsemi.no>
2024-03-22 12:41:56 +00:00
Grzegorz Swiderski
7b2c947ac8 sysbuild: Apply FILE_SUFFIX to sysbuild.conf
Unless `SB_CONF_FILE` is set by the user, an optional `sysbuild.conf`
file is taken by default. If `FILE_SUFFIX=foo` is set, then it should
also be possible to find `sysbuild_foo.conf`, just like with `prj.conf`.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-22 12:41:32 +00:00
Grzegorz Swiderski
073240fa68 samples: drivers: mbox: Use FILE_SUFFIX
Simplify this sample's recently updated configuration, and ensure that
the file suffix feature works in sysbuild.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-22 12:41:32 +00:00