summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add SMP priority affinity scheduler yieldTian Ye9 days1-1/+7
|
* ftpd.h: Add file header and licenseRyan Long2022-05-041-1/+30
| | | | | This file had no header, copyright, or license. Based on git history, added appropriate copyright and license.
* cpukit/include/rtems: Add file headers and licensesRyan Long2022-05-042-0/+53
| | | | | These files had no header, copyright, or licenses. Based on git history, added appropriate copyright and license.
* cpukit/include: Adding file headers and licensesRyan Long2022-05-044-2/+113
| | | | | These files had no file header, copyright, or license. Based on git history, added appropriate copyright and license.
* heap: Fix heap statistics with protection enabledSebastian Huber2022-04-281-9/+1
| | | | Close #4644.
* shell: Add rtems_shell_run_main_loop()Sebastian Huber2022-04-061-0/+25
| | | | | | | In contrast to rtems_shell_main_loop(), this new function does not perform all sorts of initialization based on environment settings. For example, due to the use of isatty() in rtems_shell_main_loop() it is impossible to run an interactive shell through a socket connection.
* Update email address of Fernando Ruiz Casas to <fruizcasas@gmail.com>Joel Sherrill2022-04-053-14/+20
| | | | This was requested to be executed prior to relicensing to BSD-2.
* cpukit/include/rtems/timespec.h: Change license to BSD-2Joel Sherrill2022-04-011-3/+22
| | | | | | Permission received from Krzysztof Miesowicz. Updates #3053.
* cpukit/include/rtems/cbs.h: Change license to BSD-2Joel Sherrill2022-04-011-3/+22
| | | | | | Permission received from Petr Benes Updates #3053.
* rtems: Clarify scheduler of created taskSebastian Huber2022-03-291-3/+3
|
* cpukit/include/rtems/confdefs/libpci.h: Manual file header clean upJoel Sherrill2022-03-251-8/+8
|
* cpukit/include/sys: Change license to BSD-2.Joel Sherrill2022-03-2529-91/+642
| | | | Updates #3053.
* cpukit/include/rtems: Change license to BSD-2Joel Sherrill2022-03-2573-219/+1606
| | | | Updates #3053.
* cpukit/: Update Eric Norum contact info and normalize file headersJoel Sherrill2022-03-241-7/+28
|
* smp: Add fatal errorSebastian Huber2022-03-241-1/+2
| | | | | | | Add SMP-specifc SMP_FATAL_MULTITASKING_START_ON_NOT_ONLINE_PROCESSOR fatal error. This fatal error helps to diagnose a broken SMP startup sequence. Without this error a context switch using the NULL pointer for the thread control block happens which may be difficult to debug.
* libtest: Add scheduler test supportSebastian Huber2022-03-241-0/+290
| | | | | | | | | Add support to record scheduler operations. This support is especially important for tests in SMP configurations since the thread switch extension is quite difficult to use due to the asynchronous nature of thread dispatching. In contrast, the scheduler operations occur normally in a deterministic order. Update #3716.
* score: Add _IO_Relax()Sebastian Huber2022-03-241-0/+8
| | | | | | | This function may be used to burn a couple of processor cycles with minimum impact on the system bus. It may be used in busy wait loops. Since it is a global function, it is possible to wrap it in device driver test code.
* thread.hpp: Fix redefinition of default argumentSebastian Huber2022-03-181-18/+14
| | | | | | A default argument shall be defined only once. Close #4632.
* bsps/irq: Improve affinity set handlingSebastian Huber2022-03-161-1/+8
| | | | | | | | Restrict the affinity set to the set of online processors. Make sure the affinity set for an interrupt vector contains at least one online processor. Update #3269.
* cpukit: Automated IMD header file clean upChristian Mauderer2022-03-106-6/+6
| | | | | | Use the same form of IMD in all copyright lines Update #4625.
* bsps and cpukit: Manual file header clean upChristian Mauderer2022-03-105-80/+53
| | | | Updates #4625.
* cpukit/: Scripted embedded brains header file clean upJoel Sherrill2022-03-1041-254/+4
| | | | Updates #4625.
* cpukit/include/rtems/posix/*.h: Change license to BSD-2Joel Sherrill2022-02-2826-78/+572
| | | | Updates #3053.
* cpukit/include/rtems/rtems/*.h: Change license to BSD-2Joel Sherrill2022-02-2834-102/+748
| | | | Updates #3053.
* cpukit/include/rtems/score/[s-z]*.h: Change license to BSD-2Joel Sherrill2022-02-2853-159/+1166
| | | | Updates #3053.
* cpukit/include/rtems/score/[a-r]*.h: Change license to BSD-2Joel Sherrill2022-02-2850-150/+1100
| | | | Updates #3053.
* kern_ntptime.c: Port to RTEMSSebastian Huber2022-02-211-0/+9
| | | | | | Remove previous adjtime() implementation. Update #2348.
* config: CONFIGURE_DISABLE_NEWLIB_REENTRANCYSebastian Huber2022-02-211-8/+9
| | | | | | | Do not initialize Thread_Control::libc_reent if CONFIGURE_DISABLE_NEWLIB_REENTRANCY is defined. This helps to catch errors with a NULL pointer exception rather than a corruption of the thread control block.
* termios: Pass number of sent chars to l_startChristian Mauderer2022-02-101-1/+5
| | | | | | | | | | | | | At the moment the line discipline start function (l_start) has no possibility to get feedback about the number of characters that have been sent. This patch passes that information via an additional parameter. The change might trigger a warning on existing code because of a pointer mismatch but it shouldn't break it. An existing function with the old API will just ignore the additional parameter. Update #4493
* Remove obsolete rtems_gxx_*() implementationSebastian Huber2022-01-272-82/+2
| | | | | | | | | | | GCC versions prior to 6.1 used a RTEMS thread model based on rtems_gxx_*() functions. GCC version 6.1 or later uses the self-contained synchronization objects of Newlib <sys/lock.h> for the RTEMS thread model. Remove the obsolete implementation. Close #3143.
* rtems: Fix Clock Manager parameter descriptionsSebastian Huber2021-12-221-8/+8
| | | | Update #4572.
* rtems: Improve ordering in <rtems/rtems/intr.h>Sebastian Huber2021-12-131-284/+284
| | | | | Move the data structure definitions closer to the directives which use them.
* Avoid ISR_LOCK_MEMBER() since it confuses DoxygenSebastian Huber2021-12-096-7/+17
| | | | | If RTEMS_SMP is not defined, then Doxygen adds the comments intended for conditional the lock member to the next member.
* score: Fix _Workspace_Initialize_for_one_area()Sebastian Huber2021-12-071-14/+20
| | | | | | | In _Workspace_Initialize_for_one_area(), properly check if there is enough free memory available for the configured workspace size. The bug was introduced by commit 3d0620b607ff6459fec9d30efc1e0589bbd010f9.
* score: Fix atomic stores for C++Sebastian Huber2021-12-071-3/+3
| | | | Close #4566.
* rtems: Move all Interrupt Manager stuff to intr.hSebastian Huber2021-12-022-2274/+2272
| | | | | | Since the previous Interrupt Manager Extension API moved to the Interrupt Manager, we can move the interfaces to <rtems/rtems/intr.h> so that they are available via #include <rtems.h>.
* rtems: Move scheduler directives to own headerSebastian Huber2021-12-023-479/+560
| | | | | | Move all rtems_scheduler_* directives to the new header file <rtems/rtems/scheduler.h>. Add a Scheduler Manager API and implementation group.
* libc: Optimize malloc() initializationSebastian Huber2021-11-303-5/+191
| | | | | | | | | | | | | | | | The BSPs provide memory for the separate C Program Heap initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the separate C Program Heap and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs. Change licence to BSD-2-Clause according to file history. Update #3053.
* score: Optimize Workspace Handler initializationSebastian Huber2021-11-303-10/+244
| | | | | | | | | | | | The BSPs provide memory for the workspace initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the workspace handler and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs.
* rtems: Replace "precision" with "resolution"Sebastian Huber2021-11-231-32/+32
| | | | Resolution is the right term for the documented property.
* score: Properly continue the thread during restartSebastian Huber2021-11-232-2/+7
| | | | | | | | | | The _Thread_queue_Extract() does not deal with potential priority updates and the SMP locking protocol handling. Use _Thread_queue_Continue(). For the POSIX signals processing this is currently probably unnecessary, however, the use case is similar to the restart so use the same appoach. Close #4546.
* score: Move _Thread_queue_Extract()Sebastian Huber2021-11-231-1/+6
| | | | | | | Move _Thread_queue_Extract() since this function is not used by the core services (threads, semaphores, mutexes, message queues). Update #4546.
* score: Simplify thread wait state handlingSebastian Huber2021-11-233-15/+9
| | | | | | | | | | Remove the THREAD_WAIT_STATE_READY_AGAIN and simply use the initial value to indicate that a thread does not wait on something. Rename THREAD_WAIT_FLAGS_INITIAL to THREAD_WAIT_STATE_READY. This change is necessary so that _Thread_Continue() can be called for threads which never waited on something (for example dormant threads). Update #4546.
* score: Add _Thread_MP_Extract_proxy()Sebastian Huber2021-11-234-19/+41
| | | | | | | | Remove _Thread_queue_Extract_with_proxy() and move the proxy extraction to _Thread_MP_Extract_proxy(). Move similar code blocks of the previous caller of _Thread_queue_Extract_with_proxy() to helper functions. Update #4546.
* rtems: Fix rtems_scheduler_remove_processor()Sebastian Huber2021-11-232-12/+13
| | | | | | | | | | | | | | | | | | Return an error status for the following error condition in rtems_scheduler_remove_processor(): While an attempt is made to remove a processor from a scheduler, while the processor is the only processor owned by the scheduler, if a thread exists which uses the scheduler as a helping scheduler, then the processor shall not be removed. The reason is that ask for help requests and withdraw node requests are processed asynchronously in any order. An ask for help request carried out on a scheduler without a processor is undefined behaviour. Update error status description. Update #4544.
* score: Fix assertion in SMP scheduler frameworkSebastian Huber2021-11-231-6/+9
| | | | | | Properly assert that the scheduled chain is not empty. Fix formatting. Close #4531.
* score: Rework ask for help requestsSebastian Huber2021-11-234-83/+100
| | | | | | | | Process ask for help requests on the current processor. This avoids using inter-processor interrupts to make the system behaviour a bit more predictable. Update #4531.
* score: _Scheduler_SMP_Schedule_highest_ready()Sebastian Huber2021-11-231-48/+49
| | | | | | | | | Simplify callers of _Scheduler_SMP_Schedule_highest_ready(). Move the node state change and the extraction from scheduled into _Scheduler_SMP_Schedule_highest_ready(). Move the idle thread release to the caller which have more information about the presence of an idle thread. Update #4531.
* score: Remove victim thread from CPU allocationSebastian Huber2021-11-231-60/+53
| | | | Update #4531.
* score: Move _Scheduler_Unblock_node()Sebastian Huber2021-11-232-71/+35
| | | | | | | Move _Scheduler_Unblock_node() into _Scheduler_SMP_Unblock(). This simplifies the code and makes it easier to review. Update #4531.