summaryrefslogtreecommitdiffstats
path: root/cpukit/score (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-07-05score: Avoid clash with <strings.h> provided fls()Sebastian Huber1-1/+2
2017-07-04arm: Fix ARMv7-M interrupt processingSebastian Huber2-30/+48
Right after a "msr basepri_max, %[basepri]" instruction an interrupt service may still take place (observed at least on Cortex-M7). However, pendable service calls that are activated during this interrupt service may be delayed until interrupts are enable again. The _ARMV7M_Pendable_service_call() did not check that a thread dispatch is allowed. Move this test from _ARMV7M_Interrupt_service_leave() to _ARMV7M_Pendable_service_call(). Update #3060.
2017-07-04score: Add assert to _Thread_Dispatch()Sebastian Huber1-0/+1
Update #3060.
2017-06-29score: Add RTEMS_NO_INLINESebastian Huber1-1/+11
Update #3056.
2017-06-29score: Add SMP EDF schedulerSebastian Huber6-16/+658
Update #3056.
2017-06-29score: Add red-black tree node to Scheduler_NodeSebastian Huber7-39/+47
In SMP configurations, add a red-black tree node to Scheduler_Node to enable an EDF scheduler implementation. Update #3056.
2017-06-20powerpc: Fix PPC_CONTEXT_VOLATILE_SIZESebastian Huber1-0/+4
Account for legacy AltiVec context.
2017-06-20powerpc: Fix TLS supportSebastian Huber1-10/+11
Do not zero the GPR2 in the thread context via dcbz instructions. Bug was introduced by 32b4a0c42704f0076da8e2d5411290f55d1b2965.
2017-06-14score: Remove rtems_ada_selfSebastian Huber2-12/+0
This task variable is superfluous since we use thread-local storage now. Update #2289.
2017-06-12i386: Support thread-local storage (TLS)Sebastian Huber4-11/+62
Update #2468.
2017-06-09i386: Move _CPU_Context_Initialize()Sebastian Huber2-46/+65
Update #2468.
2017-06-09Simplify TLS support in context switchSebastian Huber1-11/+2
There is no need to save the thread pointer in _CPU_Context_switch() since it is a thread invariant. It is initialized once in _CPU_Context_Initialize().
2017-06-07Fix CPU_COPY() usageSebastian Huber2-3/+3
The original CPU_COPY() support of Newlib <sys/cpuset.h> had the parameters in the wrong order. This is fixed in Newlib since 2017-05-22. Update #3023.
2017-05-24build-system: Parallel build all subdirs.Chris Johns2-2/+2
2017-05-23arm: Fix profiling support of Thumb-1 targetsSebastian Huber1-1/+3
Update #2751.
2017-04-25score/cpu/or1k/rtems/score/cpu.h: Fix printf() format warningJoel Sherrill1-1/+3
2017-04-25score/cpu/or1k/or1k-exception-frame-print.c: Fix printf() format warningJoel Sherrill1-2/+4
2017-04-25moxie/rtems/score/cpu.h: Fix printf() format warningJoel Sherrill1-1/+1
2017-04-25epiphany/rtems/score/cpu.h: Fix printf() format warningJoel Sherrill1-1/+3
2017-04-25epiphany/cpu.c: Fix typo to eliminate warningJoel Sherrill1-2/+2
2017-04-24epiphany/cpu.c: Fix not a prototype warningJoel Sherrill1-2/+2
2017-04-14cpukit/../i386/cpu.c: Use inttypes.h to fix 1 warning.Cillian O'Donnell1-1/+2
2017-04-05SMP: Simplify SMP multicast actionsSebastian Huber4-63/+85
2017-03-28arm: Optimize context switchSebastian Huber3-78/+55
Set CPU_ENABLE_ROBUST_THREAD_DISPATCH to TRUE. In this case the interrupts are always enabled during a context switch even after interrupt processing (see #2751). Remove the CPSR from the context control since it contains only volatile bits. Close #2954.
2017-03-09arm: Fix CPU context validation for Cortex-R4Sebastian Huber2-7/+3
Do not touch the FPSCR[QC] bit since this is DNM/RAZ on Cortex-R4.
2017-03-08arm: Remove legacy execption supportSebastian Huber4-301/+0
2017-03-07score: Fix scheduler yield in SMP configurationsSebastian Huber4-20/+46
Check that no ask help request is registered during unblock and yield scheduler operations. There is no need to ask for help if a scheduled thread yields, since this is already covered by the pre-emption detection. Update #2556.
2017-03-06powerpc: Fix PPC_CONTEXT_VOLATILE_SIZESebastian Huber1-1/+1
2017-02-23score: Add RTEMS_WEAK_ALIAS()Sebastian Huber1-0/+10
2017-02-15score: Fix warningSebastian Huber1-0/+2
2017-02-14score: Fix warning in _Thread_Set_name()Sebastian Huber1-1/+1
2017-02-03score: Move _Thread_Scheduler_ask_for_help()Sebastian Huber3-36/+34
Move _Thread_Scheduler_ask_for_help(), rename it to _Thread_Ask_for_help() and make it static.
2017-02-03score: Improve scheduler helping protocolSebastian Huber22-169/+88
Only register ask for help requests in the scheduler unblock and yield operations. The actual ask for help operation is carried out during _Thread_Do_dispatch() on a processor related to the thread. This yields a better separation of scheduler instances. A thread of one scheduler instance should not be forced to carry out too much work for threads on other scheduler instances. Update #2556.
2017-02-03sparc: Fix volatile clobberSebastian Huber1-1/+1
Do not adjust the stack pointer, since this is already done by the restor instruction. Update #2270.
2017-01-31score: Add _Thread_queue_Object_nameSebastian Huber18-56/+130
Add the special thread queue name _Thread_queue_Object_name to mark thread queues embedded in an object with identifier. Using the special thread state STATES_THREAD_QUEUE_WITH_IDENTIFIER is not reliable for this purpose since the thread wait information and thread state are protected by different SMP locks in separate critical sections. Remove STATES_THREAD_QUEUE_WITH_IDENTIFIER. Add and use _Thread_queue_Object_initialize(). Update #2858.
2017-01-31score: Fix _Thread_Initialize()Sebastian Huber2-2/+5
2017-01-30score: Fix unused parameter warningSebastian Huber1-0/+2
Close #2890.
2017-01-30bsps/arm: Fix Cortex-M DWT CPU counter.Christian Mauderer1-1/+45
It is necessary to enable the DWT using a special initialization sequence before the CYCCNT can be enabled. See for example the RESET_CYCLE_COUNTER in libbsp/arm/atsam/utils/utility.h. Note that this problem only occurs if no debugger is connected. A debugger most likely already enables the necessary module.
2017-01-27score: Clarify _Heap_Extend()Sebastian Huber1-5/+6
Update #1747.
2017-01-27score: Fix typoSebastian Huber1-1/+1
2017-01-26score: Fix user extensions orderSebastian Huber3-15/+26
Use forward and reverse order for initial and dynamic extensions. This is the behaviour documented in the C Users Guide. Change thread terminate order to backward to be in line with the thread delete order. Change fatal error order to forward to ensure that initial extensions are called first due the peculiar execution context of fatal error extensions, see _Terminate() documentation. Update #2692.
2017-01-26score: Delete _CPU_Context_Fp_start()Sebastian Huber18-288/+14
Since the FP area pointer is passed by reference in _CPU_Context_Initialize_fp() the optional FP area adjustment via _CPU_Context_Fp_start() is superfluous. It is also wrong with respect to memory management, e.g. pointer passed to _Workspace_Free() may be not the one returned by _Workspace_Allocate(). Close #1400.
2017-01-24Adding ARM VFP V2 supportKevin Kirspel1-0/+6
2017-01-24sparc: Relax CPU_STACK_ALIGNMENTSebastian Huber1-12/+3
Close #2352.
2017-01-24Remove CPU_BIG_ENDIAN and CPU_LITTLE_ENDIANSebastian Huber17-310/+0
Use de-facto standard BYTE_ORDER instead. Close #2803.
2017-01-13posix: shared memory supportGedare Bloom2-2/+4
Add POSIX shared memory manager (Shm). Includes a hook-based approach for the backing memory storage that defaults to the Workspace, and a test is provided using the heap. A test is also provided for the basic use of mmap'ing a shared memory object. This test currently fails at the mmap stage due to no support for mmap.
2017-01-13configure: Remove HAVE_STRUCT__THREAD_QUEUE_QUEUESebastian Huber6-24/+0
2017-01-13score: Add _Thread_Set_name()Sebastian Huber4-0/+35
Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE. Update #2858.
2017-01-13score: Add and use _Thread_Get_name()Sebastian Huber3-1/+45
Update #2858.
2017-01-13score: Add Thread_queue_Queue::nameSebastian Huber7-21/+46
Update #2858.