Commit Graph

6576 Commits

Author SHA1 Message Date
Benjamin Cabé
1f058383ae doc: security: improve ETSI 303645 table layout
Improve ETSI 303645 layout both for HTML (use more appropriate column
widths) and PDF (use landscape orientation).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-10 16:58:10 +03:00
Benjamin Cabé
c9a4386a92 doc: logging: fix LOG_INST_HEXDUMP_DBG link
fixed misspelled mention to LOG_INST_HEXDUMP_DBG

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-10 16:56:25 +03:00
Valerio Setti
f8ce4a8f00 doc: describe changes from PR 71827 and PR 72243
This commit updates migration-guide and release-notes docs with
the changes introduces by PR 71827 and PR 72243.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-06-10 15:01:06 +03:00
Benjamin Cabé
9ee3bf221d doc: pdf: add ImageMagick converter extension
Our documentation uses image formats such as WebP that are not supported
by LaTeX. This commit enables Sphinx's sphinx.ext.imageconverter
extension, and updates the documentation to indicate ImageMagick is
required to build docs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-10 14:58:16 +03:00
Georges Oates_Larsen
85c4cb9265 net: conn_mgr: Add IPv4 and IPv6 tracking
conn_mgr now fires:

- NET_EVENT_L4_IPV4_CONNECTED
- NET_EVENT_L4_IPV4_DISCONNECTED
- NET_EVENT_L4_IPV6_CONNECTED
- NET_EVENT_L4_IPV6_DISCONNECTED

These events track whether there are any ready ifaces offering
specifically IPv4 or specifically IPv6 connectivity.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2024-06-10 00:59:34 -07:00
Flavio Ceolin
9ba65abcb3 doc: pm: Add information about device and system constraint
Add information about device power management and system power
management constarints.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-07 19:06:23 -04:00
Benjamin Cabé
35e04ef6f3 doc: ztest: fix reference to kconfig options
Use proper identifiers and sphinx roles to reference Kconfigs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-07 21:42:46 +02:00
Daniel DeGrasse
93ebf1c48f doc: services: disk_access: add documentation for INIT/DEINIT IOCTLs
Add documentation for disk INIT/DEINIT IOCTLs to the disk access API.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-06-07 18:16:01 +01:00
Benjamin Cabé
2c112ce519 doc: bluetooth: fix Sphinx C domain roles usage
use the proper types for referencing C elements from Bluetooth docs

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-07 18:08:31 +01:00
Benjamin Cabé
593dfe1385 doc: kernel: fix improper Sphinx C domain usage
fixed usage of wrong C roles (e.g. `:c:struct:` instead of `:c:type:`)
which Breathe tolerates but can cause trouble when using other systems.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-07 16:48:14 +03:00
Benjamin Cabé
5a5fd7c96f doc: mcumgr: fix mixed up occurrences of :c:enum: and :c:enumerator:
While Breathe seems to not care and creates hyperlinks either way, the
proper role to mention a C enumerator is :c:enumerator:. :c:enum: is to
be used to refer to the enum itself.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-07 16:44:49 +03:00
Jamie McCrae
1c4dbf7f87 doc: release: 3.7: Add note on MCUmgr go tool instruction removal
Adds a note that these instructions have been removed and list
the available replacement tools

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-06-07 15:07:07 +02:00
Jamie McCrae
1906ab33da doc: services: device_mgmt: mcumgr: Remove references to go tool
The go tool documentation is very old, and the tool is not
recommended for use, therefore remove all documentation relating
to it to prevent people from using it

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-06-07 15:07:07 +02:00
Benjamin Cabé
1a59033ea3 doc: Bluetooth: Mesh: fix :c:enum: used in lieu of :c:enumerator:
While Breathe seems to not care and creates hyperlinks either way, the
proper role to mention a C enumerator is :c:enumerator:. :c:enum: is to
be used to refer to the enum itself.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-07 15:06:25 +02:00
Gustavo Silva
9e2c773137 doc: improvements to Contribution Guidelines
Restructure the Contribution Guidelines page in the documentation.

Create the 'Pull Request Guidelines' section containing the best
practices for creating Pull Requests.

Improve commit message guidelines: instruct contributors to refer to
GitHub issue in the PR message instead of commit message when
submitting a fix; add a description of `Link:` tags for refering to
other relevant information.

Move 'clang-format' and 'twister' subsections to the new PR
Guidelines section.

Delete outdated/incorrect information about how to run tests locally
with twister.

Describe the `check_compliance.py` script as the recommended tool for
checking compliance of changes and how to run the script locally.
Remove 'gitlint' subsection.

Add a list of recommended steps for getting a new PR accepted quickly.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2024-06-07 15:03:35 +02:00
David Leach
6f7fd7a306 doc: project roles: reviewer and assignee clarification
Clarification of reviewer expectations and role. Emphasis
on clarifying when a PR can be closed.

Highlighting reviewers and assignee objective to guide PR
to a mergeable state, if possible.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-06-06 20:07:06 -04:00
Bartosz Bilas
2c08e9698d drivers: spi: remove deprecated functions
`spi_transceive_async`, `spi_read_async` and `spi_write_async`
are deprecated since v3.2.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2024-06-06 15:19:29 -05:00
Nelson Ferragut
0d56a3c3f4 doc: unittest: add instructions
Implemented suggestions from Benjamin Cabé.

Signed-off-by: Nelson Ferragut <nelson_ferragut@whirlpool.com>
2024-06-06 07:54:31 -04:00
Nelson Ferragut
7054d01dc8 doc: unittest: add instructions
Add instructions for implementing unit testing.

Signed-off-by: Nelson Ferragut <nelson_ferragut@whirlpool.com>
2024-06-06 07:54:31 -04:00
Tom Burdick
d95caa51a4 sys: Add a lockfree mpsc and spsc queues
Moves the rtio_ prefixed lockfree queues to sys alongside existing
mpsc/spsc pbuf, ringbuf, and similar queue-like data structures.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-06-06 00:42:29 -07:00
Aaron Ye
10457879d3 doc: release-notes-3.7: Update release notes for Ambiq changes
Added the SoC, board and drivers changes for Ambiq platform.

Signed-off-by: Aaron Ye <aye@ambiq.com>
2024-06-05 17:39:11 -05:00
Tom Burdick
753f8ff0c7 docs: Move sensor.rst to sensor/index.rst
Looking to expand the sensor docs and break out significant sections.
First though to move this to a directory to allow for multiple sensor
related rst docs.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-06-05 17:38:56 -05:00
Ryan Erickson
0ea95390a5 migration: 3.7: lairdconnect boards are now ezurio
Laird Connectivity has rebranded to Ezurio.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2024-06-05 17:37:54 -05:00
Henrik Brix Andersen
68096cedae drivers: can: rename struct can_driver_config fields
Rename the "bus_speed" and "bus_speed_data" fields of struct
can_driver_config to "bitrate" and "bitrate_data" to match the
corresponding devicetree properties and the terminology used in the rest of
the CAN subsystem API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-06-05 14:43:00 +01:00
Henrik Brix Andersen
695e704b5d dts: bindings: can: rename bus-speed/bus-speed-data properties
Deprecate the CAN controller bus-speed/bus-speed-data properties and rename
them to bitrate/bitrate-data to match the terminology used in other CAN
devicetree properties and the CAN subsystem API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-06-05 14:43:00 +01:00
Valerio Setti
9360b6e1aa mbedtls: remove unused kconfigs for Blowfish, ARC4 and MD4
As of Mbed TLS 3.6 (which is the currently used version in Zephyr)
Blowfish, ARC4 and MD4 are no more supported so existing kconfigs
have no effect at all. Moreover they are not even used anywhere
in Zephyr.
This commit just removes them all and it also updates the migration
guide document.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-06-05 01:39:04 -07:00
Flavio Ceolin
0b3d7eb3e7 doc: vulnerabilities: Info about CVE-2024-3332
Add an entry for CVE-2024-3332.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 22:36:09 -04:00
Flavio Ceolin
ee92645e9c doc: relnotes/3.7: Add info about CVE-2024-3332
Information about CVE-2024-3332 in release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 22:36:09 -04:00
Peter Mitsis
0bcdae2c62 kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS
Platforms that support IPIs allow them to be broadcast via the
new arch_sched_broadcast_ipi() routine (replacing arch_sched_ipi()).
Those that also allow IPIs to be directed to specific CPUs may
use arch_sched_directed_ipi() to do so.

As the kernel has the capability to track which CPUs may need an IPI
(see CONFIG_IPI_OPTIMIZE), this commit updates the signalling of
tracked IPIs to use the directed version if supported; otherwise
they continue to use the broadcast version.

Platforms that allow directed IPIs may see a significant reduction
in the number of IPI related ISRs when CONFIG_IPI_OPTIMIZE is
enabled and the number of CPUs increases.  These platforms can be
identified by the Kconfig option CONFIG_ARCH_HAS_DIRECTED_IPIS.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-06-04 22:35:54 -04:00
Henrik Brix Andersen
3eb3c33096 scripts: twister: allow fixtures to contain extra configuration
Allow twister fixtures to contain extra information, which can be used for
test suite configuration. The extra information can be appended to existing
fixtures separated by a colon (i.e. <fixture>:<configuration>).

This is especially useful for the pytest harness, where a fixture of a
given type may need to refer to an instance of a particular piece of host
hardware needed by the pytest suite (e.g. a network interface, a UART, or a
CAN interface connected to the device under test).

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-06-04 21:27:35 -05:00
Flavio Ceolin
dcf22a66de doc: pm: Update system device pm
Add new information about new property to
enable/disable device power management per
power state.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 19:13:53 -04:00
Flavio Ceolin
94af630b22 pm: Deprecate PM_DEVICE_RUNTIME_EXCLUSIVE
That is option has shown confusing on it is attempt to prevent
system pm doing device power management. Lets address this
problem properly.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 19:13:53 -04:00
Flavio Ceolin
1a6bdb2e3e doc: crypto: Add PSA Crypto documentation
Add PSA Crypto in the cryptographic services
section.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 19:13:36 -04:00
Flavio Ceolin
c1bcf3c72f doc: crypto: Remove TinyCrypt from documentation
TinyCrypt is being removed from Zephyr in favor of PSA Crypto.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 19:13:36 -04:00
Flavio Ceolin
9751f78ce5 doc: security-overview: Update cryptographic information
Zephyr's transition to PSA Crypto API and demoting TinyCrypt.
Lets not promote TinyCrypt in the overview.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-04 19:13:36 -04:00
Peter Mitsis
46e3cfa665 doc: kernel: Fix pipes configuration option link
Updates the pipes documentation to generate a link to CONFIG_PIPES
Kconfig option description instead of merely listing the name of
this option.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-06-04 19:10:56 -04:00
Chris Friedt
fe1e7f8d37 doc: release: posix: deprecate non-normative POSIX Kconfig
Add release notes for the deprecation of a number of POSIX
Kconfig options. These have been deprecated so that we can
use more normative Kconfig variable identifiers, based on
the Options and Option Groups of IEEE 1003.1-2017.

To simplify migration, use

python $ZEPHYR_BASE/scripts/utils/migrate_posix_kconfigs.py \
    -r root_path

Additionally, document the removal of PTHREAD_BARRIER_DEFINE(),
EFD_IN_USE, EFD_FLAGS_SET, which were previously deprecated
>= 2 release cycles before.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
0fa97326c7 posix: create kconfig options for pse51, pse52, pse53
Create Kconfig "shortcuts" for PSE51, PSE52, and PSE53.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
487a8756c3 posix: eventfd: fix dependency cycle between net and posix
Until recently, the posix api was purely a consumer of the
network subsystem. However, a dependency cycle was added as
a stop-gap solution for challenges with the native platform.

Specifically,

1. eventfd symbols conflict with those of the host
2. eventfd was excluded from native libc builds via cmake

If any part of the posix were then to select the network
subsystem (which is a legitimate use case, given that networking
is a part of the posix api), we would get a build error due to
the Kconfig dependency cycle.

As usual, with dependency cycles, the cycle can be broken
via a third, mutual dependency.

What is the third mutual dependency? Naturally, it is ZVFS
which was planned some time ago. ZVFS will be where we
collect file-descriptor and FILE-pointer APIs so that we can
ensure consistency for Zephyr users.

This change deprecates EVENTFD_MAX in favour of
ZVFS_EVENTFD_MAX.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
b003636b2b doc: posix: misc cleanup and add links to system interfaces
memlock, memlock range, shared memory objects, and synchronized
io were missing links.

Also, vdisable is '\0' (not 0).

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
3949e89330 posix: net: update for POSIX_NETWORKING
Add a link to the Kconfig option CONFIG_POSIX_NETWORKING in
the documentation.

Additionally, add Kconfig options for other Network
dependencies in an effort to make POSIX Kconfig options
consistent with the specification.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
1640967173 doc: posix: clean up some Kconfig options
Add links to POSIX-related Kconfig options that are related to
POSIX Options and Option Groups.

These include limits that might not have an associated standard
name and related Kconfig variables in other subsystems.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
b051bcee25 posix: move getpid() to Kconfig.procN and doc MULTI_PROCESS
Create a Kconfig option for POSIX_MULTI_PROCESS Option Group
and mark it as experimental.

Currently, Zephyr has two functions that belong to this
Option Group:
- sleep()
- getpid()

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
3f29b17bd1 posix: deprecate POSIX_SIGNAL in favour of POSIX_SIGNALS
This change deprecates CONFIG_POSIX_SIGNAL in favour of
the plural CONFIG_POSIX_SIGNALS, which maps directly to the
name of the standard POSIX Option Group POSIX_SIGNALS.

Additionally, mark signals as experimental.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
fcebe60090 posix: deprecate PTHREAD_IPC _MUTEX _COND and _KEY
Zephyr's POSIX API is moving toward using the standard
nomenclature from IEEE 1003.1-2017 for as much as possible. In
particular, we want to have consistent naming between Zephyr's
POSIX API Kconfig options and the naming for POSIX Options and
Option Groups.

The Kconfig option CONFIG_PTHREAD_IPC has been (ab)used for a
very long time for a variety of different purposes. However,
the standard Option / feature test macro for POSIX Threads is,
intuitively _POSIX_THREADS. There is a corresponding sysconf()
key named _SC_POSIX_THREADS.

Annoyingly, the POSIX Option Group that corresponds to the
Option is POSIX_THREADS_BASE, which is a minor inconsistency
in the standard.

The _POSIX_THREADS Option already includes mutexes, condition
variables, and thread-specific storage (keys). So with this
change, we also deprecate the redundant Kconfig variables that
do not have a corresponding match in the standard.

- CONFIG_PTHREAD_IPC
- CONFIG_PTHREAD
- CONFIG_PTHREAD_COND
- CONFIG_PTHREAD_MUTEX
- CONFIG_PTHREAD_KEY

Additionally, create Kconfig variables for those configurables
which we are lacking:

- CONFIG_POSIX_THREADS_EXT
- CONFIG_POSIX_THREAD_ATTR_STACKSIZE
- CONFIG_POSIX_THREAD_ATTR_STACKADDR
- CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING
- CONFIG_POSIX_THREAD_PRIO_INHERIT
- CONFIG_POSIX_THREAD_PRIO_PROTECT
- CONFIG_POSIX_THREAD_SAFE_FUNCTIONS

Some Kconfig variables were renamed to more properly match the spec:

- CONFIG_MAX_PTHREAD_COUNT -> CONFIG_POSIX_THREAD_THREADS_MAX
- CONFIG_MAX_PTHREAD_KEY_COUNT -> CONFIG_POSIX_THREAD_KEYS_MAX

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
2f2cad742e posix: deprecate POSIX_PUTMSG for XOPEN_STREAMS
This change deprecates CONFIG_POSIX_PUTMSG and introduces a new
Kconfig option CONFIG_XOPEN_STREAMS which maps directly to the
standard POSIX Option, _XOPEN_STREAMS.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
0711d603f7 posix: deprecate POSIX_SYSLOG for XSI_SYSTEM_LOGGING
This change deprecates the CONFIG_POSIX_SYSLOG Kconfig
variable for CONFIG_XSI_SYSTEM_LOGGING, which has a
direct mapping to the POSIX Option Group XSI_SYSTEM_LOGGING.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
23f9119176 doc: posix: add kconfig link for async io
Update documentation so that there is a link to
CONFIG_POSIX_ASYNCHRONOUS_IO as it was previously missing.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
842a7b7ba1 posix: deprecate SEM_VALUE_MAX and SEM_NAMELEN_MAX
This change deprecates CONFIG_SEM_VALUE_MAX in favour of
CONFIG_POSIX_SEM_VALUE_MAX which maps directly to
_POSIX_SEM_VALUE_MAX.

Additionally, we add the Kconfig option
CONFIG_POSIX_SEMAPHORES which maps directly to the
POSIX Option _POSIX_SEMAPHORES.

For consistence, deprecate CONFIG_SEM_NAMELEN_MAX
in favour of CONFIG_POSIX_SEM_NAMELEN_MAX.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Chris Friedt
9f6590c7b7 posix: deprecate POSIX_FS for POSIX_FILE_SYSTEM
This change deprecates CONFIG_POSIX_FS in favour of
CONFIG_POSIX_FILE_SYSTEM, which maps directly to the name of the
standard POSIX Option Group.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00