Commit Graph

245 Commits

Author SHA1 Message Date
Christopher Friedt
25ad028376 doc: posix: denote pthread_sigmask() as implemented
Mark pthread_sigmask() as implemented in POSIX_THREADS_BASE.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-12-04 20:49:35 -05:00
Christopher Friedt
e260201204 doc: posix: mark pthread_cleanup_push() and pop() as supported
Update docs to reflect additional support of
pthread_cleanup_push() and pthread_cleanup_pop().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-29 10:08:44 +01:00
Bartosz Bilas
ce812c1b25 zbus: rework buffer allocation Kconfig options
Add a name for the Kconfig choice symbol
indicating the Zbus subscriber buffer allocation
and adjust the name of the existing choices.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-28 15:33:42 +01:00
Carlo Caione
06571fc87b doc: Add documentation for the new allocator
Add new documentation for the new attribute-based memory allocator.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-11-27 19:56:48 +01:00
Christopher Friedt
5bfed9ef6b doc: posix; mark pthread_getconcurrency() supported
Mark pthread_getconcurrency() and pthread_setconcurrency()
as supported in documentation.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-27 08:26:31 -05:00
Christopher Friedt
5da13ea30a docs: posix: correct spelling of XSI_THREADS_EXT
The option group includes a trailing S

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 19:58:54 -05:00
Christopher Friedt
4d8442d3a5 docs: posix: update the XSI_THREADS_EXT option group
Previously pthread_attr_getguardsize() and
pthread_attr_setguardsize() were part of the
XSI_THREADS_EXT option group. That is no longer the case.

In IEEE 1003.1-2017 they are part of the POSIX_THREADS_EXT
option group.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 19:58:54 -05:00
Christopher Friedt
ecd2961160 doc: services: portability: posix: add pthread_setcanceltype()
The function pthread_setcanceltype() is supported and mandatory
for conforming implementations.

Mark it as supported since the preceding commit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-26 05:55:08 -05:00
Bartosz Bilas
20acd64a1b doc: zbus: fix msg subscriber thread signatures
Fix the thread function signatures to match k_thread_entry_t.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
2023-11-24 09:27:10 +01:00
Jamie McCrae
2a9f914db2 doc: mgmt: mcumgr: Add list of libraries/tools
Adds a list of tools and libraries that are available

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-24 09:22:44 +01:00
Bartosz Bilas
e7c7c5a769 doc: zbus: add missing timeout arg for zbus_chan_add/rm_obs funcs
zbus_chan_add_obs and zbus_chan_rm_obs functions require
a timeout as their third arg.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-23 10:02:13 +01:00
Christopher Friedt
1d501a76af doc: services: portability: posix: pthread_atfork() supported
Mark pthread_atfork() as supported in the documentation.

This option is a mandatory requirement (i.e. it must be present)
even when calling it produces undefined behaviour. That is the
case here, and documentation sbould be updated to reflect that.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-23 00:59:32 -05:00
Christopher Friedt
3b45235887 doc: posix: structural reorganization of posix docs
Revise the structure of the POSIX API docs. This separates
related items out to dedicated pages. Further improvements
could yet be made - e.g. using the 'collapse' feature to
expand and collapse large sections of text or tables.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-22 22:47:26 -05:00
ingram weeks
45a5cedfd6 doc: Console.rst added to os_services docs
Barebones Console.rst added to os_services docs

Signed-off-by: ingram weeks <ingram.weeks@gmail.com>
2023-11-22 09:37:38 +00:00
Jamie McCrae
f03192f489 doc: mcumgr: Add missing Settings management text
Adds that settings (config) management is supported to the list of
supported command groups

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:51:57 +01:00
Jamie McCrae
3613f94fdc doc: mcumgr: smp_group_63: Add zephyr mgmt group documentation
Adds documentation describing the MCUmgr Zephyr management group
and supported commands

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:51:57 +01:00
Jamie McCrae
300746310e doc: mcumgr: smp_group_3: Fix rc text
Fixes the "rc" text to include that it can also be returned when
SMP version 2 is used to indicate an SMP error instead of a group
error.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-22 09:51:57 +01:00
Alexander Leris
7d63942c31 doc: logging: Fix some grammar issues
Fixes some grammar issues in the documentation.

Signed-off-by: Alexander Leris <alexander.leris@gmail.com>
2023-11-21 14:21:35 +01:00
Alberto Escolar Piedras
97b9bce995 doc/services/sensing: Refer to native_sim overlay instead of native_posix
Refer to the native_sim overlay instead of the native_posix one,
as native_posix is going to be deprecated soon.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-20 12:02:48 +01:00
Benjamin Cabé
155420522b doc: Fix occurrences of repeated words
Another round of repeated words cleanup. This commit tries to keep the
diff minimal and line wrapping was mostly left intact in the touched
files, as having them consistent across the documentation is probably
the topic of a future tree-wide cleanup (or not)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-15 17:34:39 -05:00
Fabio Baltieri
297c41031b doc: input: add a input_kbd_matrix group, fix few missing doc entries
Add a input_kbd_matrix doxygen group and add this to the other Input
APIs page, add few missing argument documentation entries.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-15 11:41:25 +01:00
Alberto Escolar Piedras
b4d0791d1a services/tracing doc & samples: Replace native_posix w native_sim
In the docs replace the references to native_posix with native_sim.
In the sample, add overlays for native_sim, and add native_sim to filter
and as default integration platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Tom Burdick
d9a30c1f0a docs: Remove out of date examples
The examples in the RTIO docs were nice but continuously became out of
date without being updated. This is unfortunately the downside of
doc-only samples like this.

Some real, buildable, samples right be better but will take a little
time to write up. In the meantime drop the examples in the docs to avoid
confusion.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-14 09:25:54 +01:00
Dominik Kilian
28df44946f ipc: add dynamically allocated buffers to icmsg
The icmsg and icmsg_me backends has limitations in context of
concurrent access to single instance. Some limitations are:
* sending by more thread at the same time may cause -EBUSY
* allocating TX buffer will cause errors in other threads that want
  to allocate before first thread sent the message,
* during no-copy receive, when RX buffer is on hold receiving is
  totally blocked.
This backend resolves those limitations by adding dynamically allocated
buffers on shared memory next to ICmsg circular buffer. The data is
passed using those buffers, so concurrency is not a problem. The ICmsg
is used only to pass short 2-byte messages containing references to
those buffers. The backend also supports multiple endpoint.
The ipc/icmsg_me sample was modified to support this backend.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2023-11-13 11:11:43 +01:00
Jamie McCrae
5c05b61ecd doc: mgmt: mcumgr: Remove OS mgmt datetime unimplemented note
This functionality is now implemented

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-11-13 09:48:13 +01:00
Daniel DeGrasse
47ce94527a doc: services: pm: fix function prototype for PM device support
Function prototype in PM device implementation documentation had the
incorrect prototype for device power management. Fix this to align
with the correct prototype.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-11-09 15:32:01 +01:00
David Corbeil
724c162821 shell: backends: telnet: Added support for echo option
Adding support for echo option if telnet commands are supported. This is
useful when the telnet client is in character mode. It allows to use the
arrow keys, ctrl-c and more. Something to keep in mind is that when
character mode is turned on by the client, network traffic is
considerably increased as each typed character is sent over the wire.

Note: echo mode is only supported if SHELL_TELNET_SUPPORT_COMMAND is
enabled.

Signed-off-by: David Corbeil <david.corbeil@dynon.com>
2023-11-03 11:46:08 +01:00
Krzysztof Chruściński
503422b91e doc: logging: Add new Kconfig options
Add CONFIG_LOG_SIMPLE_MSG_OPTIMIZE and CONFIG_LOG_FRONTEND_OPT_API

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
Yong Cong Sin
49d7910aa4 shell: Update doc to include MQTT transport
The Shell MQTT transport was added in #38107, but isn't
mentioned in the Shell documentation.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-23 12:38:54 +02:00
Rodrigo Peixoto
32bdb24a92 doc: zbus: fix VDED notification sequence figure
The figure and table related to the VDED notification sequence were wrong.
It fixes that by changing the image and adjusting the table content.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-23 12:37:08 +02:00
Dmitrii Golovanov
c8d6a62b9d samples: gdbstub: doc: Remove redundant sample
Remove gdbstub sample (samples/subsys/debug/gdbstub) as duplicated
by a test (tests/subsys/debug/gdbstub).

Update the GDB stub documentation.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2023-10-20 15:03:55 +02:00
Benjamin Cabé
447d19b701 doc: smf: Properly highlight C code
Set default syntax highlighting language to C for this page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 09:46:28 +03:00
Bjarki Arge Andreasen
61e8793292 doc: services: Add modem entry
This commit adds an entry for the modem subsystem in the
services documentation section.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-17 21:58:30 +03:00
Benjamin Cabé
32918ddd92 doc: Fix broken references to Kconfig options
Fixed a few occurrences of incorrect references to Kconfig options
(missing the CONFIG_ prefix)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-17 19:50:39 +01:00
Rodrigo Peixoto
d2001eeb96 doc: zbus: update documentation with changes for 3.5
Add documentation for the new way to storage observers, the message
subscribers, and the confirmed message sample.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2023-10-11 22:33:40 +03:00
Jamie McCrae
365a6f5da0 doc: retention: Add note on mutex configuration
Adds a note on how to configure and what to beware of when
disabling mutex support in a multithreading application

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-10 16:27:10 +03:00
Christopher Friedt
b0a3736eff doc: posix: add posix timers and clock selection
Update the POSIX API documentation with details on
POSIX_TIMERS and POSIX_CLOCK_SELECTION.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-10-09 06:08:17 -04:00
Jamie McCrae
b375092441 doc: services: device_mgmt: smp_group_0: Tidy documentation
Minor doc changes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-04 10:29:08 +03:00
Tom Burdick
09f38b5f20 docs: Add documentation for llext
Adds a basic overview and API docs for llext.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-09-29 20:50:38 -04:00
Dominik Ermel
7668b4fbb3 doc/services/device_mgmt: Bootloader info request definition
Specification for MCUmgr OS group command allowing to query
for bootloader information.
Provide information on supported MCUboot parameters query by MCUmgr
group OS.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 16:27:45 +02:00
Yonatan Schachter
726e14e475 doc: bindesc: Add documentation for binary descriptors
Add documentation for binary descriptors under "OS Services"

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 07:39:09 -04:00
Jamie McCrae
4fe6f52175 doc: retention: Add blinfo subsystem documentation
Adds some documentation on how to use the new subsystem

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Benjamin Cabé
2e5f56665b doc: tracing: fix formatting issue
The list of user-defined functions in "User-Defined Tracing" section was
not properly formatted (missing blank line).
Switched the (broken) list to a code block to now provide C syntax
highlighting.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 16:42:32 +01:00
Tomasz Bursztyka
ba02d85c74 doc/nvme: NVMe mandates dword-aligned buffer addresses
In Zephyr, this is let to the disk access API user. There is nothing the
driver can do about it.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2023-09-22 09:23:18 +02:00
Benjamin Cabé
f6a4217a88 doc: driver: samples: Update driver samples to use new Sphinx extension
Migrated existing driver samples to use the new code-sample directive
and role.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 09:21:43 +02:00
Benjamin Cabé
4f1cd0e428 doc: Migrate subsys/ code samples to new Sphinx extension
This migrates the subsys code samples to the new Sphinx code-sample
extension, making it easier to find relevant samples when browsing
API reference.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-21 09:28:31 +02:00
Benjamin Cabé
994558ef8e samples: net: doc: Use new Sphinx extension to document networking samples
Use the new code-sample directive and roles to document the networking
samples so that they show up as "Related samples" when browsing the
various relevant networking APIs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-19 15:22:59 +01:00
Carlo Caione
e4a125b6a4 dt: Make zephyr,memory-attr a capabilities bitmask
This is the final step in making the `zephyr,memory-attr` property
actually useful.

The problem with the current implementation is that `zephyr,memory-attr`
is an enum type, this is making very difficult to use that to actually
describe the memory capabilities. The solution proposed in this PR is to
use the `zephyr,memory-attr` property as an OR-ed bitmask of memory
attributes.

With the change proposed in this PR it is possible in the DeviceTree to
mark the memory regions with a bitmask of attributes by using the
`zephyr,memory-attr` property. This property and the related memory
region can then be retrieved at run-time by leveraging a provided helper
library or the usual DT helpers.

The set of general attributes that can be specified in the property are
defined and explained in
`include/zephyr/dt-bindings/memory-attr/memory-attr.h` (the list can be
extended when needed).

For example, to mark a memory region in the DeviceTree as volatile,
non-cacheable, out-of-order:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_VOLATILE |
			       DT_MEM_NON_CACHEABLE |
			       DT_MEM_OOO )>;
   };

The `zephyr,memory-attr` property can also be used to set
architecture-specific custom attributes that can be interpreted at run
time. This is leveraged, among other things, to create MPU regions out
of DeviceTree defined memory regions on ARM, for example:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-region = "NOCACHE_REGION";
       zephyr,memory-attr = <( DT_ARM_MPU(ATTR_MPU_RAM_NOCACHE) )>;
   };

See `include/zephyr/dt-bindings/memory-attr/memory-attr-mpu.h` to see
how an architecture can define its own special memory attributes (in
this case ARM MPU).

The property can also be used to set custom software-specific
attributes. For example we can think of marking a memory region as
available to be used for memory allocation (not yet implemented):

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_NON_CACHEABLE |
			       DT_MEM_SW_ALLOCATABLE )>;
   };

Or maybe we can leverage the property to specify some alignment
requirements for the region:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_CACHEABLE |
			       DT_MEM_SW_ALIGN(32) )>;
   };

The conventional and recommended way to deal and manage with memory
regions marked with attributes is by using the provided `mem-attr`
helper library by enabling `CONFIG_MEM_ATTR` (or by using the usual DT
helpers).

When this option is enabled the list of memory regions and their
attributes are compiled in a user-accessible array and a set of
functions is made available that can be used to query, probe and act on
regions and attributes, see `include/zephyr/mem_mgmt/mem_attr.h`

Note that the `zephyr,memory-attr` property is only a descriptive
property of the capabilities of the associated memory  region, but it
does not result in any actual setting for the memory to be set. The
user, code or subsystem willing to use this information to do some work
(for example creating an MPU region out of the property) must use either
the provided `mem-attr` library or the usual DeviceTree helpers to
perform the required work / setting.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-09-15 12:46:54 +02:00
Benjamin Cabé
4d53ae8a42 doc: shell: fix incorrect use of :kbd: role
Key combinations described using the sphinx :kbd: role should not have
a white space around + sign
i.e. should be :kbd:`Ctrl+d` not :kbd:`Ctrl + d`

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-13 11:35:44 +02:00
Benjamin Cabé
59e4c5aed0 samples: fully migrate basic samples to the new Sphinx extension
- Updated basic samples READMEs to use the new zephyr:code-sample::
  directive. Dropped "-sample" suffix that's not required anymore now
  that samples have their own namespace.
- Updated all references to the samples to use the :zephyr:code-sample:
  role. Checked and updated the wording of said references to account
  for the fact that samples should not have "... sample" in their name
  anymore.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-13 09:15:34 +02:00