Commit Graph

36830 Commits

Author SHA1 Message Date
Loris Nardo
d7d1bec401 testsuites: Move some testcases of fsrename into fspermission and fssymlink so that fsrename can be used also for FAT filesystem 2024-07-25 18:22:46 +00:00
Loris Nardo
a558c96c64 msdos: update inode during rename
rename now actively changes the inode of the file being renamed.
This change has been done to fix an issue when the file being renamed is already opened before the rename, in particular failing to update the inode number (and the two lookup tables) could cause at least two problems:
1) A new file created in the same source folder of the file being renamed may get the same fat file descriptor of the renamed file
2) An open to the renamed file opens a new fat file descriptor, thus putting out of sync the operations on the file (two distinct fat file descriptor working on the same clusters and entries)

Previously the inode was in any case changed once the file was closed.

Another possible solution would have been to separate the inode number from the lookup table, but this solution would have required much more memory because it needed to keep track of all files seen in the file system up to the last operation and not only the opened ones.

Closes #5044
2024-07-25 18:22:46 +00:00
alessandronardin
1fe3d396d3 cpukit/posix/src/aio_misc.c: Fix incorrect operator in condition
Coverity Issue: CID 1615135 Control flow issues  (DEADCODE)
2024-07-25 17:29:48 +02:00
Chris Johns
43fd756f6d testsuite/libiofdopen: Add missing spec file 2024-07-25 12:33:00 +10: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
Amar Takhar
b21abd3fa5 Update to add docs group
Anyone in this group can edit text files I tried to customise it on a per-repo
basis if any files were missed please open an issue in this repo.
2024-07-19 18:20:31 -04:00
Sebastian Huber
a824ed6f7f smptests/smpipi01: Fix more sporadic test failures
The last fix in commit 70029fc7be did not work on
targets where you can have active and pending interrupts.
2024-07-19 12:52:58 +00:00
Sebastian Huber
5c5b4b832b libtests/dl*: Make build reproducible
Do not use a temporary file to create the symbol map.

Close #4941.
2024-07-18 00:12:02 +00:00
Chris Johns
cc034e7d2f libcsupport/getrusage: Return task and idle time using getrusage
Close #5062
2024-07-18 00:11:09 +00:00
Kinsey Moore
174b69afd6 cpukit/shell: Add window size retrieval control
This adds an environment variable that can be used to enable or disable
window size retrieval for the RTEMS shell. This will also disable window
size retrieval upon failure while allowing the user to re-enable it.
2024-07-18 00:10:15 +00:00
Kinsey Moore
8eb4932b13 cpukit/shell: Account for tick rate in timeouts
On systems that don't provide a proper terminal or have broken window
size detection, the RTEMS shell can take a long time execute commands if
the kernel tick interval is longer than 1ms. This updates the shell
window size retrieval timeout code to account for the kernel tick
interval bringing the experienced timeout from 12.5ms to 1.25ms when
using the default kernel tick interval (10ms).
2024-07-18 00:10:15 +00:00
Sebastian Huber
1dd384bb1b score: Add Doxygen file comment to bsd-tree.h
Update #5049.
2024-07-12 07:50:19 +02:00
Sebastian Huber
26b95e148c libtest: Move parts to extra files
Move the RTEMS test printer and rtems_test_exit() to separate files, to
remove dependencies from the begin/end test messsage support.

Update #4963.
2024-07-10 06:01:25 +00:00
Gedare Bloom
be8aa9b09d sptests/sptree01: add more detail to sptree01.doc 2024-07-09 22:52:40 +00: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
90e1a6500b testsuites: regenerate tc-score-rbtree.c 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
Joel Sherrill
34485ccd92 x: Remove junk file 2024-07-09 20:42:06 +00:00
Sebastian Huber
6d65f2cff9 bsps/arm/xilinx-zynq: Enable SMP for all variants 2024-07-08 03:43:58 +00:00
Sebastian Huber
2f299f7f88 aarch64/xilinx-zynqmp: Fix BSP build
The build issue was introduced by b48166b9b6.
2024-07-08 03:42:40 +00:00
Sebastian Huber
ffa6e26879 dhrystone: Prevent procedure merging
From the Dhrystone RATIONALE:

  o No procedure merging

    Although Dhrystone contains some very short procedures where execution would
    benefit  from  procedure  merging (inlining, macro expansion of procedures),
    procedure merging is not to be used.  The reason is that the  percentage  of
    procedure  and  function  calls  is  part of the "Dhrystone distribution" of
    statements contained in [1].  This restriction does not hold for the  string
    functions  of  the  C  version  since ANSI C allows an implementation to use
    inline code for these functions.

Close #5058.
2024-07-05 21:18:57 +00:00
Sebastian Huber
89e795a42a validation: Fix bad thread dispatch validation
Where the robust thread dispatching is disabled, the
ISRDisabledOnDemandThreadDispatchTask() has to exit.

Update #3716.
2024-07-05 21:16:04 +00:00
Matheus Pecoraro
58748a3a71 amd64: Fix typo in amd64 obj.yml 2024-07-03 14:04:52 -03: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
Matheus Pecoraro
087645e58f amd64: Refactor amd64 and amd64efi spec files
Add a common group and object spec files for the amd64 and amd64efi BSPs
2024-07-01 17:49:11 +00:00
Matheus Pecoraro
dd882e1291 x86_64: Fix ISR handler macros
Modify the ISR handler macros for the x86_64 arch to follow the behavior
expected of them
2024-07-01 17:48:46 +00:00
Matheus Pecoraro
e46135290a x86_64: Enable and add support for FP tasks 2024-07-01 17:48:25 +00:00
Sebastian Huber
bba5a7a250 psxfenv01: Use a floating-point task 2024-06-28 14:29:04 +02:00
Sebastian Huber
c847f4c101 validation: Fix comment
Update #5050.
2024-06-26 12:02:04 +02:00
Sebastian Huber
e5b6fa026a bsp/tms570: Fix SCI baud calculation
The bug was introduced by cc6f1d86cc.

Update #4982.
2024-06-25 13:36:47 +00:00
Matheus Pecoraro
263cbb9408 amd64: Remove unneeded paging flags 2024-06-25 13:35:13 +00:00
Ranulfo Raphael
19d8888ac6 libtest/dl12: Fix build issue
Updated from ld to gcc in the build script to ensure consistency in ABI
flags during the creation of incrementally linked objects.

Update #5053
2024-06-25 13:31:22 +00:00
Kinsey Moore
39da0b7fd4 bsps/xqspipsu: Add timeouts to NOR transfers
This switches the XQspiPsu NOR driver layer to use the RTEMS event
system so that waits for interrupt-based data transfers can time out
instead of waiting indefinitely. It is sometimes possible for either the
controller or the NOR chip to fail to issue a transfer completion event
and recovery is preferable to a hang.
2024-06-25 06:47:48 +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
c4c3e68790 bsps/arm: Use fatal error for data cache disable
On the Cortex-A cores, at least the L1 data cache is required to provide
support for atomic operations.

Close #5050.
2024-06-25 03:58:34 +00:00
Sebastian Huber
3a281aca37 bsps/arm: Fix L2C-310 instruction enabled/disable
Set/clear SCTLR[I] on all online processors.  Do not enable/disable the
L2C-310 cache in the instruction cache enable/disable since it is a
unified cache.
2024-06-25 03:58:34 +00:00
Sebastian Huber
ef9b49dc24 bsps/arm: Fix Doxygen group placement 2024-06-25 03:58:34 +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
19a30cfa07 validation: Fix cache invalidation test case
Make sure that the invalidated data cache lines are contained in the
buffer.
2024-06-25 03:58:34 +00:00
Sebastian Huber
d09d61ffe4 doxygen: Clarify system termination 2024-06-24 06:32:26 +02: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
Sebastian Huber
283b4406c0 score: Remove ISR_LOCK_DECLARE()
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
fa24398857 score: Remove ISR_LOCK_REFERENCE()
Update #4957 and #5038.
2024-06-21 08:10:27 +02:00