summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cpukit/aarch64: Use correct debug register namesKinsey Moore2021-11-011-16/+1096
| | | | | | | The N used in the breakpoint and watchpoint register names is intended to be an integer between 0 and 15 (inclusive) and will not compile when used as is. This adds the accessors necessary to access all of these breakpoint and watchpoint registers.
* cpukit/libdebugger: Use uintptr_t for pointersKinsey Moore2021-11-015-20/+20
| | | | | Use uintptr_t instead of DB_UINT when the variable in question describes a pointer.
* cpukit: Compare the function resultKinsey Moore2021-11-011-1/+1
| | | | | Compare the function result instead of the function pointer for non-SMP builds.
* testsuite: Add machine exception signal map testKinsey Moore2021-10-296-0/+162
| | | | | Add a test to verify that mapping of machine exceptions to POSIX signals operates properly when the application requests it.
* cpukit: Add signal mapping supportKinsey Moore2021-10-296-0/+223
| | | | | | This adds a confdef option allowing an application to request mapping machine exceptions to POSIX signals. This is required for some languages such as Ada.
* testsuite: Add machine exception resume testKinsey Moore2021-10-295-0/+120
| | | | | Add a test to verify that intercepted exceptions can be resolved and execution can be resumed.
* cpukit/aarch64: Add exception extensions supportKinsey Moore2021-10-295-84/+293
| | | | | This adds the function implementations necessary to add exception extensions support to AArch64.
* cpukit: Add exception extensionsKinsey Moore2021-10-293-0/+83
| | | | | | | | This adds the set of functions necessary to allow more generic handling of machine exceptions. This initial patch offers the ability to manipulate a CPU_Exception_frame and resume execution using that exception information with or without thread dispatch. These functions are gated behind the RTEMS_EXCEPTION_EXTENSIONS configuration option.
* rtems-debugger: Fixed pointer types to work on 32 and 64 bit architecturesStephen Clark2021-10-273-8/+28
| | | | | | | Using 32bit types like uint32_t for pointers creates issues on 64 bit architectures like AArch64. Replaced occurrences of these with uintptr_t, which will work for both 32 and 64 bit architectures. Added hex_decode_addr function to rtems-debugger.
* sptests/sp69: Remove test caseSebastian Huber2021-10-251-25/+0
| | | | | | This error condition no longer exists. Update #4528.
* score: Move code block to separate functionSebastian Huber2021-10-251-26/+32
| | | | | Move a code block to the new function _Thread_Scheduler_withdraw_nodes() to ease code review.
* score: Do not shadow lock_context local variableSebastian Huber2021-10-251-2/+0
|
* rtems: rtems_rate_monotonic_get_status()Sebastian Huber2021-10-251-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.
* rtems: Regenerate for IDLE task allocator optionSebastian Huber2021-10-252-13/+45
| | | | Update #4524.
* score: Fix typoSebastian Huber2021-10-251-2/+2
|
* rtems: Fix rate monotonic statisticsSebastian Huber2021-10-2514-67/+166
| | | | | | | | | | | | | | | 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.
* score: Optimize default idle task stack allocatorSebastian Huber2021-10-251-3/+9
| | | | Update #4524.
* score: Simplify _Watchdog_Next_first()Sebastian Huber2021-10-251-19/+36
|
* spec/libdebugger: Only enable for supported architecturesChris Johns2021-10-224-4/+20
| | | | Closes #4533
* spec/aarch64: Enable previously unbuildable testsKinsey Moore2021-10-206-23/+0
| | | | | | | The spconfig01 and spmisc01 tests were disabled for all AArch64 BSPs due to a toolchain issue preventing them from compiling correctly. The binutils version that contains the fix has been released and integrated into RSB such that these two tests now build and operate correctly.
* microblaze: Rework for RTEMS 6Alex White2021-10-1353-1679/+3294
| | | | | This reworks the existing MicroBlaze architecture port and BSP to achieve basic functionality using the latest RTEMS APIs.
* bsps: Add MicroBlaze FPGA BSPHesham ALMatary2021-10-1313-79/+782
|
* score: Add MicroBlaze portJoel Sherrill2021-10-135-0/+1664
|
* Add support for IDLE Thread stack allocatorJoel Sherrill2021-10-1116-8/+404
| | | | | | | | 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.
* score: _Thread_queue_Surrender_priority_ceiling()Sebastian Huber2021-10-112-2/+45
| | | | | | | | 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.
* libdl/rtl-mdreloc-h8300.c: Remove remnant of h8300 portJoel Sherrill2021-10-081-212/+0
| | | | Updates #2452.
* score: Always check queue in _Thread_Wait_cancel()Sebastian Huber2021-10-061-2/+2
| | | | | | Commit 18c8a270c296addff87f96b8c248f27eba31c24f removed _Thread_queue_Do_nothing_extract() so we have to check for a non-NULL queue in all configurations.
* bsp/imx: Add cs_change support to SPIChristian Mauderer2021-10-061-4/+6
|
* rtems: Set postponed jobs in rate-monotonic cancelSebastian Huber2021-10-062-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.
* score: Optimize EDF SMP scheduler opsSebastian Huber2021-10-061-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.
* rtems: Generate <rtems/cpuuse.h>Sebastian Huber2021-10-061-39/+180
| | | | Write the documentation from scratch.
* posix: Remove "RTEMS" from POSIX API groupSebastian Huber2021-10-061-3/+4
| | | | | | Clarify group description. Update #3706.
* scoe: Move workspace group definitionSebastian Huber2021-10-062-10/+10
| | | | | | Define the group in the header file which is used by <rtems/confdefs.h>. Update #3706.
* rtems: Add ASR implementation to existing groupSebastian Huber2021-10-061-2/+2
| | | | Update #3706.
* score: Add Hash Handler to groupSebastian Huber2021-10-061-0/+2
| | | | Update #3706.
* rtems: Canonicalize Doxygen in <rtems/counter.h>Sebastian Huber2021-10-061-2/+3
| | | | Update #3706.
* rtems: Canonicalize Doxygen in <rtems/seterr.h>Sebastian Huber2021-10-061-5/+5
| | | | Update #3706.
* improve the format error reporting on i386Zacchaeus Leung2021-10-041-4/+4
|
* testsuites/fstests: Fix uninitialized utimbuf structsAlex White2021-10-042-2/+2
| | | | | | | | | | | | The utimbuf structs in fsimfsconfig01 and fsimfsconfig02 were being passed to utime uninitialized. This did not cause problems until utime was changed to use utimensat behind the scenes. Now that utimensat is called, the values of the utimbuf struct are checked, and EINVAL is set for invalid values. The utimebuf structs in these tests could contain invalid values since they are uninitialized. By zero-initializing the utimbuf structs, we ensure that they pass the checks in utimensat and that errno is set to the expected ENOTSUP.
* cpukit/aarch64: Use correct interrupt level typesKinsey Moore2021-10-012-4/+4
| | | | | All other architectures use uint32_t for interrupt levels and there is no reason not to do so on AArch64.
* cpukit/aarch64: Use correct context register setsKinsey Moore2021-10-012-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.
* score: Add Thread_queue_Deadlock_statusSebastian Huber2021-10-014-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.
* score: Avoid dead code in thread queue surrenderSebastian Huber2021-10-011-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().
* score: Remove _Thread_queue_Do_nothing_extract()Sebastian Huber2021-09-301-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.
* score: Regenerate <rtems/score/basedefs.h>Sebastian Huber2021-09-301-1/+1
| | | | Reflect renamed specification item.
* score: Add Doxygen group for <sys/lock.h> mutexesSebastian Huber2021-09-301-1/+15
|
* rtems: Adjust parameter namesSebastian Huber2021-09-302-13/+13
| | | | | | | Adjust parameter names to match with the declaration. This avoid using a name reserved by the C standard: "time". Close #4035.
* rtems: Justify integer conversionsSebastian Huber2021-09-301-3/+8
| | | | Close #2548.
* score: Improve variable names in thread initSebastian Huber2021-09-221-25/+25
|
* score: Simplify _Thread_Try_initialize()Sebastian Huber2021-09-221-72/+108
| | | | | Move a code block to its own new function _Thread_Initialize_scheduler_and_wait_nodes(). Add comments.