Commit Graph

1496 Commits

Author SHA1 Message Date
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
alessandronardin
31c91be2ea posix/aio: updated documentation after changes to lio_listio()
updated the doxygen comment in aio.h
updated the description in spec/build/cpukit/optposix.yml
2024-09-13 21:30:02 +00:00
Joel Sherrill
3aa1f1faee poll.h and sys/poll.h were in both RTEMS and Newlib
Remove the copies in RTEMS. Most POSIX headers are in Newlib.

CLoses #5126
2024-09-12 04:57:43 +00:00
Sebastian Huber
a9bff015f6 stackchk: Avoid implementation header in API
Update #5047.
2024-09-12 02:26:15 +00:00
Sebastian Huber
4abed2b422 stackchk: Fix Doxygen file comment
Update #5047.
2024-09-12 02:26:15 +00:00
Sebastian Huber
5b1c17f85a confdefs: Fix extensions.h
Resurrect proper file comment.  Order copyrights according to template.  Remove
white space at the end of line.  Do error checks early.  Define objects under
optional extern "C".

Update #5047.
2024-09-12 02:26:15 +00:00
alessandronardin
1b6684ee2b cpukit/posix/aio*: Added support for lio_listio()
This commit adds support for lio_listio().
psxaio05 has been added to test the new method.
To avoid code duplication, the body of aio_read and aio_write has been
moved in two helper methods. In this way i can use it also in lio_listio().

In addition to that, a limit on the number of total aio operation enqueued
has been added.

Updates rtems/programs/gsoc#29
2024-09-02 18:16:30 +02:00
Matheus Pecoraro
acf7c725ca x86_64: Add TLS support 2024-08-27 21:20:48 +00:00
Sebastian Huber
3332e54772 score: Disable ISR for fatal extensions
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
e80883b406 score: Simplify _Terminate()
In _Terminate(), everything after invoking the fatal extensions is essentially
dead code.  Simplify this code block and provide a reasonable safe fall-back
for badly configured applications.  Just disable masked interrupts and execute
an idle loop.

Update #5067.
2024-08-23 14:54:37 +00:00
Mohamed Hassan
6ab27bb54e libtests/stackchk04: Add a new testsuite for the detailed reporter
Now as the default reporter is set to be a quiet reporter, we have stackchk test case for the default quiet reporter, stackchk03 for a custom user-defined reporter and stackchk04 for the detailed reporter function
2024-08-06 22:40:12 +03:00
alessandronardin
adce380138 cpukit/posix/aio*: added support for O_DSYNC
The aio_fsync function now supports the value O_DSYNC for op.
Tests are added to improve coverage and test new features.

Closes #5040.
2024-08-02 20:02:58 +00:00
Mohamed Hassan
dc123bb828 libmisc/stackchk: Add configurability to the stack checker reporting function 2024-08-02 20:00:20 +00:00
alessandronardin
3b96aaddde posix/aio*: Added notification on request completion
The patch adds the generation of a notification after an Asynchronous I/O
request has been completed. The notification is generated using the aio_sigevent
filed in the aiocb struct, as defined by the posix specifiations.
A new control, ensuring the validity of the field, is added on each call to
aio_read(), aio_write() and aio_fsync().
The patch also adds tests to cover the new code, and fixes formatting errors of
various aio files.
2024-07-24 11:05:21 +02:00
Chris Johns
e58ff8984c libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors
Close #5063
2024-07-24 03:23:06 +00:00
Sebastian Huber
7333afe0ae libdl: Constify TLS offset table 2024-07-20 01:31:57 +00:00
Sebastian Huber
1dd384bb1b score: Add Doxygen file comment to bsd-tree.h
Update #5049.
2024-07-12 07:50:19 +02:00
Gedare Bloom
ddbd0d574a score/bsd-tree.h: Clarify the rationale for the file in a comment. 2024-07-09 22:52:40 +00:00
Gedare Bloom
88ca88f3fd cpukit/bsd-tree.h: prepend CPP with RTEMS_ scoping 2024-07-09 22:52:40 +00:00
Aaron Nyholm
c33ed55231 score/rbtree: install and use bsd-tree.h 2024-07-09 22:52:40 +00:00
Aaron Nyholm
b68ef66b49 score: Import <sys/tree.h> from Newlib
Import <sys/tree.h> from Newlib as <rtems/score/bsd-tree.h> using Newlib commit:

commit eb03ac17f16f1bd354482148426353fd35cd879d
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Tue Oct 5 15:53:47 2021 +0200

    sys/tree.h: Red child with black sibling rotations

    Add specialized rotations RB_RED_ROTATE_LEFT() and RB_RED_ROTATE_RIGHT() which
    may be used if we rotate a red child which has a black sibling.  Such a red
    node must have at least two child nodes so that the following red-black tree
    invariant is fulfilled:

      Every path from a given node to any of its descendant NULL nodes goes through
      the same number of black nodes.

          PARENT
         /      \
      BLACK     RED
               /   \
            BLACK BLACK

Close #5049.
2024-07-09 22:52:40 +00:00
xiaojun zheng
acf12498cf add rtems_counting_semaphore_wait_timed_ticks and rtems_counting_semaphore_try_wait for self-contained object counting semaphore
Closes #5055

## Summary
add rtems_counting_semaphore_wait_timed_ticks and rtems_counting_semaphore_try_wait for self-contained object counting semaphore.

1. rtems_counting_semaphore_wait_timed_ticks(rtems_counting_semaphore \*counting_semaphore,uint32_t ticks)
2. rtems_counting_semaphore_try_wait(rtems_counting_semaphore \*counting_semaphore)

close issue #5055.

<!-- Default settings, if it is a dropdown it will set after submission -->
2024-07-02 01:49:24 +00:00
alessandronardin
cd4b6761ea cpukit/posix/aio*: Corrected aio_return() and aio_error() behaviour
Added field to the aio control block to track when a result is retrieved
and modified code accordingly.

Updated documentation for aio_return() and aio_error().
Updated test psxaio01 to make it compatible with specifications.

Closes #5039
2024-06-25 04:03:07 +00:00
Sebastian Huber
2953f4c6e3 rtems: Fatal error for rtems_cache_disable_data()
On some targets or configurations, the data cache cannot be disabled.
The data cache may be necessary to provide atomic operations.  In SMP
configurations, the data cache may be required to ensure data coherency.

Close #5050.
2024-06-25 03:58:34 +00:00
Sebastian Huber
2089f993c0 rtems: Fix typos in documentation 2024-06-21 18:30:34 +02:00
Sebastian Huber
7ce6667e38 score: Conditionally provide ISR_lock_Control
Use ISR_LOCK_NEEDS_OBJECT to determine if a lock object is needed.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Sebastian Huber
5d63827d07 score: Conditionally provide ISR_LOCK_INITIALIZER()
Use ISR_LOCK_NEEDS_OBJECT to determine if a lock object is needed.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Sebastian Huber
b0599ef35d score: Remove ISR_LOCK_MEMBER
Use ISR_LOCK_NEEDS_OBJECT to determine if a lock object is needed.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00