summaryrefslogtreecommitdiffstats
path: root/cpukit (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-10-25score: Move code block to separate functionSebastian Huber1-26/+32
Move a code block to the new function _Thread_Scheduler_withdraw_nodes() to ease code review.
2021-10-25score: Do not shadow lock_context local variableSebastian Huber1-2/+0
2021-10-25rtems: rtems_rate_monotonic_get_status()Sebastian Huber1-3/+4
Mention that resetting the processor usage time of tasks has no impact on the period status and statistics. Remove no longer relevant RTEMS_NOT_DEFINED error status. Update #4528.
2021-10-25rtems: Regenerate for IDLE task allocator optionSebastian Huber2-13/+45
Update #4524.
2021-10-25score: Fix typoSebastian Huber1-2/+2
2021-10-25rtems: Fix rate monotonic statisticsSebastian Huber13-67/+165
The rate monotonic period statistics were affected by rtems_cpu_usage_reset(). The logic to detect and work around a CPU usage reset was broken. The Thread_Contol::cpu_time_used is changed to contain the processor time used throughout the entire lifetime of the thread. The new member Thread_Contol::cpu_time_used_at_last_reset is added to contain the processor time used at the time of the last reset through rtems_cpu_usage_reset(). This decouples the resets of the CPU usage and the rate monotonic period statistics. Update #4528.
2021-10-25score: Optimize default idle task stack allocatorSebastian Huber1-3/+9
Update #4524.
2021-10-25score: Simplify _Watchdog_Next_first()Sebastian Huber1-19/+36
2021-10-13microblaze: Rework for RTEMS 6Alex White12-1490/+963
This reworks the existing MicroBlaze architecture port and BSP to achieve basic functionality using the latest RTEMS APIs.
2021-10-13bsps: Add MicroBlaze FPGA BSPHesham ALMatary5-79/+238
2021-10-13score: Add MicroBlaze portJoel Sherrill4-0/+1626
2021-10-11Add support for IDLE Thread stack allocatorJoel Sherrill6-8/+133
Add a stack allocator hook specifically for allocation of IDLE thread stacks. This allows the user to decide if IDLE thread stacks are statically allocated or handled by the same custom allocator mechanism as other thread stacks. Closes #4524.
2021-10-11score: _Thread_queue_Surrender_priority_ceiling()Sebastian Huber1-2/+2
Do not use a direct thread dispatch in _Thread_queue_Surrender_priority_ceiling() since it may be used in condition variables using POSIX mutexes. Close #4526.
2021-10-08libdl/rtl-mdreloc-h8300.c: Remove remnant of h8300 portJoel Sherrill1-212/+0
Updates #2452.
2021-10-06score: Always check queue in _Thread_Wait_cancel()Sebastian Huber1-2/+2
Commit 18c8a270c296addff87f96b8c248f27eba31c24f removed _Thread_queue_Do_nothing_extract() so we have to check for a non-NULL queue in all configurations.
2021-10-06rtems: Set postponed jobs in rate-monotonic cancelSebastian Huber2-1/+2
Set the postponed jobs count to zero in rtems_rate_monotonic_cancel() so that rtems_rate_monotonic_get_status() returns a consistent status for inactive periods. Update #4511.
2021-10-06score: Optimize EDF SMP scheduler opsSebastian Huber1-1/+1
The schedule operation is only called by rtems_task_mode(). It is called if preempt mode of the executing thread changes from disabled to enabled. Since the EDF SMP scheduler does not support the disabled preemption mode, the schedule operation is never called.
2021-10-06rtems: Generate <rtems/cpuuse.h>Sebastian Huber1-39/+180
Write the documentation from scratch.
2021-10-06posix: Remove "RTEMS" from POSIX API groupSebastian Huber1-3/+4
Clarify group description. Update #3706.
2021-10-06scoe: Move workspace group definitionSebastian Huber2-10/+10
Define the group in the header file which is used by <rtems/confdefs.h>. Update #3706.
2021-10-06rtems: Add ASR implementation to existing groupSebastian Huber1-2/+2
Update #3706.
2021-10-06score: Add Hash Handler to groupSebastian Huber1-0/+2
Update #3706.
2021-10-06rtems: Canonicalize Doxygen in <rtems/counter.h>Sebastian Huber1-2/+3
Update #3706.
2021-10-06rtems: Canonicalize Doxygen in <rtems/seterr.h>Sebastian Huber1-5/+5
Update #3706.
2021-10-04improve the format error reporting on i386Zacchaeus Leung1-4/+4
2021-10-01cpukit/aarch64: Use correct interrupt level typesKinsey Moore2-4/+4
All other architectures use uint32_t for interrupt levels and there is no reason not to do so on AArch64.
2021-10-01cpukit/aarch64: Use correct context register setsKinsey Moore2-55/+123
Context validation for AArch64 was ported from the ARM implementation without a reinterpretation of the actual requirements. The spcontext01 test just happened to pass because the set of scratch registers in ARM is a subset of the scratch registers in AArch64.
2021-10-01score: Add Thread_queue_Deadlock_statusSebastian Huber4-48/+86
Replace the boolen return value with the new enum Thread_queue_Deadlock_status. This improves the code readability. Improve documentation. Shorten function names.
2021-10-01score: Avoid dead code in thread queue surrenderSebastian Huber1-12/+67
For uniprocessor configurations, this patch removes dead code in the _Thread_queue_Surrender() and _Thread_queue_Surrender_priority_ceiling() functions. Dead code is removed from _Thread_queue_Surrender_sticky().
2021-09-30score: Remove _Thread_queue_Do_nothing_extract()Sebastian Huber1-14/+2
This function was unused. It was a relict of the thread queue rework done during the SMP support development. In an early stage, the extract operation was called with a NULL thread queue. However, this is no longer the case. The extract operation is only called if we have a non-NULL thread queue.
2021-09-30score: Regenerate <rtems/score/basedefs.h>Sebastian Huber1-1/+1
Reflect renamed specification item.
2021-09-30score: Add Doxygen group for <sys/lock.h> mutexesSebastian Huber1-1/+15
2021-09-30rtems: Adjust parameter namesSebastian Huber2-13/+13
Adjust parameter names to match with the declaration. This avoid using a name reserved by the C standard: "time". Close #4035.
2021-09-30rtems: Justify integer conversionsSebastian Huber1-3/+8
Close #2548.
2021-09-22score: Improve variable names in thread initSebastian Huber1-25/+25
2021-09-22score: Simplify _Thread_Try_initialize()Sebastian Huber1-72/+108
Move a code block to its own new function _Thread_Initialize_scheduler_and_wait_nodes(). Add comments.
2021-09-21cpukit: Add AArch64 SMP SupportKinsey Moore5-9/+160
This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
2021-09-21build: Remove old build systemSebastian Huber24-2957/+0
Close #3250. Close #4081.
2021-09-21libtest: Improve T_now_tick()Sebastian Huber1-0/+45
The T_now_tick() is a fall back time measurement using the CPU counter in case no Clock Driver is configured. Some CPU counter may overflow during the test execution. Accumulate the elapsed time to reduce the chance of CPU counter overflows.
2021-09-21score: Remove unused default scheduler opsSebastian Huber2-107/+13
If SMP support is enabled and the system has exactly one processor, then it may use an uniprocessor scheduler. The ask for help, reconsider help request, and withdraw node operations can be NULL in this case, since they are only used if a thread has at least one helping scheduler node. At least two schedulers are required to get a helping node and each scheduler involved must own at least one processor. This is not possible on a system with exactly one processor.
2021-09-21score: Ensure only one CPU if requiredSebastian Huber3-1/+22
Issue the new fatal SMP error SMP_FATAL_SCHEDULER_REQUIRES_EXACTLY_ONE_PROCESSOR if the system starts with not exactly one processor and an uniprocessor scheduler is configured.
2021-09-21score: Provide two thread pin/unpin defaultsSebastian Huber7-17/+111
The uniprocessor schedulers do not support systems with more than more processors. So they rivially support thread pinning and thus the SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED cannot happen. Add a second default implementation for SMP schedulers which do not support thread pinning. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
2021-09-21score: SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITYSebastian Huber7-8/+20
Rename SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY in SCHEDULER_DEFAULT_SET_AFFINITY_OPERATION. Add Doxygen comment.
2021-09-21score: SCHEDULER_OPERATION_DEFAULT_ASK_FOR_HELPSebastian Huber5-6/+17
Rename SCHEDULER_OPERATION_DEFAULT_ASK_FOR_HELP in SCHEDULER_DEFAULT_SMP_OPERATIONS. Add a Doxygen comment.
2021-09-20pxcdevctl: Adjust for standardRyan Long1-8/+72
psxdevctl is supposed to return the value in errno. Before, it was returning -1 and setting errno. Changed the tests to reflect these changes. Added code from RRADE's posix_devctl.c. Closes #4506
2021-09-16rtems: Fix message manager documentationSebastian Huber1-2/+2
Correct the description of the ``count`` parameter of rtems_message_queue_flush(). Update #4508.
2021-09-15rtems: Add header files to Doxygen groupsSebastian Huber7-0/+14
2021-09-15rtems: Move Doxygen group definitionSebastian Huber2-10/+8
Move the definition of the top-level Classic API implementation group to an implementation header file.
2021-09-15rtems: Improve Classic API group descriptionSebastian Huber1-1/+1
2021-09-15rtems: Fix message manager documentationSebastian Huber1-8/+10
Remove bogus return status from rtems_message_queue_receive(). Clarify rtems_message_queue_flush(). Update #4508.