Commit Graph
1523 Commits
Author SHA1 Message Date
Gedare Bloom b66b0d9804 rtems/event: regenerate from central 2025-03-19 02:09:21 +00:00
Ayush Singh f85c80bb82 libfdt: Add fdt_setprop_namelen_string()
Macro using fdt_setprop_namelen() internally similar to
`fdt_setprop_string()`.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Message-ID: <20241205-setprop-namelen-v2-4-0d85a3d2e7b1@beagleboard.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Ayush Singh 149d5b1297 libfdt: Add fdt_setprop_namelen()
Allow specifying name length in setprop similar to
`fdt_get_property_namelen` functions.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Message-ID: <20241205-setprop-namelen-v2-3-0d85a3d2e7b1@beagleboard.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Ayush Singh c8a2404c20 libfdt: add fdt_get_property_namelen_w()
Similar to the non-namelen variant, it is implemented in terms of
fdt_get_property_namelen()

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Message-ID: <20241205-setprop-namelen-v2-1-0d85a3d2e7b1@beagleboard.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Bingwu Zhang c1c2f18e4a libfdt: Remove extra semi-colons outside functions
When compiling with -Werror -Wpedantic, both GCC and Clang fails, saying
that these semi-colons are redundant, so remove them.

Signed-off-by: Bingwu Zhang <xtexchooser@duck.com>
Message-ID: <20241116101228.164707-6-xtex@envs.net>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Rasmus Villemoes cea524f01e libfdt.h: whitespace consistency fixups
In these cases, spaces are used for indentation/alignment while the
surrounding lines use tab. Fix it up for consistency.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Rasmus Villemoes f82a2d0ae7 libfdt.h: typo and consistency fixes
Most of these are plain typos. Exceptions:

- "devicetree" is only used in that form in the grammar and in mailing
  list references; all other instances, in particular all in prose,
  use "device tree".

- I don't know what "nodeequested" was supposed to be, the sentence
  reads just fine without it.

- "inexistant" is a rare form of nonexistent.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Pierre-Clément Tosi 48ba49052f libfdt: Fix fdt_appendprop_addrrange documentation
According to the documentation, the function should default to the very
common property name <reg> when none is "specified". However, neither
passing NULL (ends up calling strlen(NULL) and segfaults) nor ""
(appends a property with an empty name) implements this behavior.

Furthermore, the test case supposed to cover this default value actually
passes the value to the function, somewhat defeating its own purpose:

    /* 2. default property name */

    // ...

    err = fdt_appendprop_addrrange(fdt, 0, offset, "reg", addr, size);
    if (err)
            FAIL("Failed to set \"reg\": %s", fdt_strerror(err));
    check_getprop_addrrange(fdt, 0, offset, "reg", 1);

Finally, nothing in the implementation of the function seems to attempt
to cover that use-case.

As the feature can't ever have been used by clients and as the resulting
reduced readability of the caller seems (IMO) to outweigh any potential
benefit this API would bring, remove the erroneous documentation instead
of trying to fix the function.

Reported-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
Message-ID: <20230831123918.rf54emwkzgtcb7aw@google.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Yan-Jie Wang 71c63c9cd1 libfdt: Fix a typo in libfdt.h
The function mentioned in the comment, fdt_finished(), should be
changed to fdt_finish().

Signed-off-by: Yan-Jie Wang <yanjiewtw@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Rasmus Villemoes bfaebcc352 improve documentation for fdt_path_offset()
The current documentation doesn't mention the possibility of passing a
non-absolute path and having that treated as an alias. Add that
information, along with an example (which will further be expanded in
a subsequent patch), and clarify when -FDT_ERR_BADPATH can be returned.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Rasmus Villemoes 98975f5e93 add fdt_get_symbol() and fdt_get_symbol_namelen() functions
The fdt_get_symbol_namelen() function will be used in a subsequent
patch.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Kees Cook de9953c6a0 libfdt: Replace deprecated 0-length arrays with proper flexible arrays
Replace the 0-length arrays in structures with proper flexible
arrays. This will avoid warnings when building under GCC 13 with
-fstrict-flex-arrays, which the Linux kernel will be doing soon:

In file included from ../lib/fdt_ro.c:2:
../lib/../scripts/dtc/cpukit/dtc/libfdt/fdt_ro.c: In function 'fdt_get_name':
../lib/../scripts/dtc/cpukit/dtc/libfdt/fdt_ro.c:319:24: warning: 'strrchr' reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
  319 |                 leaf = strrchr(nameptr, '/');
      |                        ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2025-03-10 22:44:01 +00:00
Gedare Bloom 0149e6e749 spdx: add 2-BSD SPDX tags on relicensed files
Updates the recently merged relicensed files with the 2-Clause BSD
SPDX annotation.

Closes #5208.
2025-03-01 04:14:54 +00:00
Gedare Bloom 078baccade rtemscxx: replace URLs with emails in copyright
Updates #4636.
2025-02-11 04:02:43 +00:00
Gedare Bloom 8e6ded473c rtems: update licenses to 2BSD
This is an update of many lingering embedded brains GmbH licenses from
the RTEMS License to the 2-BSD license where possible depending on the
joint copyrights.

Updates #3053.
2025-02-10 15:44:09 +00:00
Sebastian Huber 294761ca8d posix: Improve clock_gettime()
Return CPU usage values for CLOCK_PROCESS_CPUTIME_ID and
CLOCK_THREAD_CPUTIME_ID.
2025-02-10 15:37:18 +00:00
Gedare Bloom 23fa41ecae cpukit: relicense shell and telnetd files
These files are mostly authored by Fernando Ruiz Casas.

Updates #3053.
2025-02-07 15:01:13 +00:00
Joel Sherrill ec8fa5fc6d _Timecounter_Time_uptime: Change from int32_t to time_t
Using int32_t results in an overflow in Y2038. This was
detected by Covered as  CIDs 1512549 and 1512552.

Closes #5204
2025-02-07 01:16:08 +00:00
Gedare Bloom db425a09b1 dev/can: remove URLs from copyrights 2025-02-07 00:30:36 +00:00
alessandronardin 9876b5949f posix/aio: Implemented aio_suspend()
Implemented aio_suspend().
Added test to verify functionality.
2025-02-04 23:34:31 +00:00
Joel Sherrill bffc250688 General: Update Eric Valette's email address
Changing Eric's email from valette@crf.canon.frto eric.valette@free.fr
2025-02-04 12:41:08 -06:00
Sebastian Huber c0207fc032 score: Fix RTEMS_DEBUG build
This fixes a compilation failure introduced by
1c12047098.
2025-02-03 18:56:49 +00:00
Michal LencandPavel Pisa e6f6eccaef can: add support for CTU CAN FD controller
This commit adds support for CTU CAN FD controller. The controller
can be initialized from BSP by ctucanfd_initialize() function call.
It also implements the dynamic redistribution of hardware transmission
buffers to CAN stack priority classes in order to avoid possible
priority inversion.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 08:25:28 +01:00
Michal LencandPavel Pisa 0cbb9eb9f9 can: add support for a simple virtual CAN controller
This commit adds a support for a simple virtual CAN controller. This
controller can be used to test CAN stack functions and serves as an
inspiration for further controller implementations.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 08:25:28 +01:00
Michal LencandPavel Pisa c3f4e215b1 cpukit: add support for common CAN/CAN FD stack
This adds support for common full-featured CAN/CAN FD stack to RTEMS.
The API is provided in form the form of the POSIX character driver with
each CAN controller (chip) registered as node into “/dev”
namespace.

The stack utilizes FIFO queues (also called edges) organized
into oriented edges between controller side and application side.
Edges, responsible for message transfers from application to controller
and vice versa, can have different priorities and function as priority
classes.

The stack provides run time configuration options to create new
queues with desired priority, direction and filter, making it
suitable for various applications requirements. There is also a
possibility to configure controller’s characteristics (bit rate,
mode, chip specific ioctl calls). Both blocking and nonblocking mode
is supported.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 01:57:28 +00:00
Sebastian Huber 00684adac9 score: Support scheduler change inhibitors
For example, the POSIX sporadic server adds a second priority to a
thread.  We cannot account for this priority in a scheduler change.

Close #5168.
2025-01-20 23:37:35 +00:00
Sebastian Huber a85a2de5c7 score: Fix _Thread_Priority_change()
The POSIX sporadic server may temporarily remove the real priority of a
thread.  Check that the priority node is active before the change is
propagated.

Update #5168.
2025-01-20 23:37:35 +00:00
Sebastian Huber 213e5027ec rtems: Remove pre-qualified constraints
The pre-qualified constraints are not applicable to mainline RTEMS.
2024-11-27 04:52:21 +01:00
alessandronardin cabc8c3a78 posix/lio_listio: corrected addition of system event
Previously the system event used by lio_listio was manually added to
event.h and not using rtems-central. This patch corrects that and renames
the event to make it clearer.

Some related dead code has also been removed.
2024-11-23 11:02:35 +01:00
Gedare Bloom 24c964e83c confdefs: do not CONFIGURE_FILESYSTEM_NFS in ALL
Fixes #5118.
2024-11-22 00:03:19 +00:00
Sebastian Huber 1c12047098 score: Improve priority node debugging
Make sure the actions of priority aggregations are not reused while in
use.

Update #5159.
2024-11-20 02:32:11 +01:00
Chris Johns 133b335bae cpukit/libmisc/rtems-fdt: Add shell read and write handler support
The handlers allow indirect access to FDT resources registered with the
shell.

Closes #5152
2024-11-16 17:40:05 +11:00
Sebastian Huber d386baedb5 rtems: Remove <rtems/rtemsdialer.h>
This header file belongs to the network stacks.
2024-11-13 23:30:21 +00:00
Sebastian Huber 30fc123f8d record: Use only related uptime low/high events
In case of overflows, we may have an RTEMS_RECORD_UPTIME_HIGH event as
the first event.  This uptime high event has no associated
RTEMS_RECORD_UPTIME_LOW event.
2024-11-12 22:43:35 +00:00
Sebastian Huber e72ee949a0 record: Avoid non-monotonic event times
The uptime and CPU counter reads must be as close as possible.  Fix
rounding.
2024-11-12 22:43:35 +00:00
Sebastian Huber 4655a7df00 record: Reorganize system event numbers
This allows a fast check if a system event may not have a time stamp.
2024-11-12 22:43:35 +00:00
Sebastian Huber 920f8d8897 record: Rework client
The ring buffer overflow handling is already performed by
rtems_record_fetch().
2024-11-12 22:43:35 +00:00
Sebastian Huber be764f7dec record: Remove rtems_record_drain()
The rtems_record_drain() function is unreliable.  Replace it with
rtems_record_fetch().
2024-11-12 22:43:35 +00:00
Sebastian Huber 049b9b5c82 record: Add rtems_record_fetch()
This function will replace rtems_record_drain() which turned out to be
unreliable in SMP configurations.
2024-11-12 22:43:35 +00:00
Sebastian Huber 31ac9cd554 record: Remove drain header from record control 2024-11-12 22:43:35 +00:00
Joel Sherrill dc7adff723 timespec.h, etc.: Eliminate use of 32-bit for time_t
This code had a uint32_t local variable for seconds from a timespec.
This was assigning a time_t to a uint32_t and ultimately returning it.
This propgated to rtems_timespec_add_to().

Coverity CID 1512527

Closes #5107.
2024-11-08 00:38:23 +00:00
Sebastian Huber e87f5ebe37 score: Use normal integers for C++ atomic objects
Since C++20 there is no longer a trivial default constructor available
for atomic objects.  See:

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117475

We already assume that an atomic integer can be stored in a normal
integer and has the same representation in C and C++.

Update #5145.
2024-11-07 03:24:09 +01:00
Aaron Nyholm 87c725b6ed flashdev: Add sector IOCTLs
Added new IOCTLs to flashdev to get sector info.
Updated flashdev shell command and flashdev test with new IOCTLs.
2024-11-06 22:35:20 +00:00
Chris Johns a1c3d4ba8e version: Add the release label interfaces
- Mark the VC key interfaces as deprecated in doxygen

Updates #5037
2024-10-30 22:40:15 +00:00
Sebastian Huber 4c75bd88f3 Revert "libmisc/stackchk: Change stack checker reporter function signatures"
This reverts commit c1aa06dbd2.

Extending the rtems_stack_checker_info like this breaks the existing
visitor API used by rtems_stack_checker_iterate().  After review, using
an information structure contradicts the intention of the reporter to
allow a minimal reporting.  Filling up the information structure with
all the details would pull in several dependencies, like
_Thread_Get_name().  The API should be improved to provide the user with
the necessary information from the TCB without having to access members
directly.
2024-10-19 15:43:07 +00:00
Sebastian Huber a54e0deab1 rtems: Simplify optionsimpl.h
Replace ternary operator with a boolean expression.  Include <stdbool.h>
for the bool definition.  Fix formatting.
2024-10-18 20:02:39 +00:00
Mohamed Hassan c1aa06dbd2 libmisc/stackchk: Change stack checker reporter function signatures
This helps in abstraction by encapsulating unnecessary data to be revealed to the user
2024-10-16 04:30:45 +00:00
Sebastian Huber 4ca49fc200 score: Remove _Per_CPU_State_wait_for_non_initial_state()
This function is unused.
2024-09-29 23:13:32 +00:00
Sebastian Huber d8822514e7 score: Add _SMP_Wait_for_ready_to_start_multitasking() 2024-09-29 23:13:32 +00:00
alessandronardin 653dbdcdbf posix/aio_misc.c: Added returns on error path in rtems_aio_init()
Coverity CID 1619695

Added returns on error path in rtems_aio_init().
Without them the code could access uninitialized memory.

Closes #5132.
2024-09-26 19:09:35 +02:00