summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/smpmulticastaction.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update company nameSebastian Huber2023-05-201-1/+1
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* score: Add _Per_CPU_Submit_job()Sebastian Huber2021-07-291-2/+1
|
* score: Split SMP multicast action moduleSebastian Huber2021-07-291-32/+1
| | | | | Split up the SMP multicast action module since the use of the SMP multicast action variants depend on the architecture and BSP.
* score: Move per-CPU jobs supportSebastian Huber2021-07-281-86/+3
| | | | Add percpujobs.c to contain the per-CPU jobs implementation.
* score: Simplify SMP processor state handlingSebastian Huber2021-07-281-26/+10
| | | | | | | | The per-CPU states which control the SMP system initialization were added quite early during the SMP support development. Replace this initial implementation with a simplified one. There is no longer a global SMP lock required which serialized the state changes of all processors. The new implementation better integrates with the per-CPU jobs.
* score: Remove processor event broadcast/receiveSebastian Huber2021-07-281-3/+1
| | | | | | Remove _CPU_SMP_Processor_event_broadcast() and _CPU_SMP_Processor_event_receive(). These functions are hard to use since they are subject to the lost wake up problem.
* score: Canonicalize Doxygen @file commentsSebastian Huber2020-12-021-2/+13
| | | | | | Use common phrases for the file brief descriptions. Update #3706.
* score: Add _Per_CPU_Wait_for_job()Sebastian Huber2019-05-201-27/+34
|
* score: Add _SMP_Synchronize()Sebastian Huber2019-05-201-0/+10
|
* score: Modify _Per_CPU_Perform_jobs()Sebastian Huber2019-05-201-5/+7
| | | | | | | | Process only the jobs initially registered on the processing list. This makes it possible to add jobs for the current processor in a job handler. These jobs are processed with the next SMP_MESSAGE_PERFORM_JOBS message. The lock is only acquired and released once.
* score: Add _Per_CPU_Add_job()Sebastian Huber2019-05-201-16/+21
|
* score: Move per-processor job data structuresSebastian Huber2019-05-201-69/+18
| | | | | This enables re-use for other purposes, e.g. replacement for SMP_MESSAGE_TEST.
* score: Simplify _SMP_Multicast_action()Sebastian Huber2019-05-201-20/+5
| | | | | | Move resposibility to disable thread dispatching to the caller of _SMP_Multicast_action(). Using an interrupt disable for this purpose is questionable.
* score: Add _SMP_Othercast_action()Sebastian Huber2019-05-201-0/+12
|
* score: Add _SMP_Broadcast_action()Sebastian Huber2019-05-201-4/+8
|
* score: Use dedicated lock for per-CPU jobsSebastian Huber2019-05-201-12/+12
|
* score: Fix per-CPU job done handlingSebastian Huber2019-05-151-4/+14
|
* score: More robust _SMP_Multicast_action()Sebastian Huber2019-04-121-2/+12
| | | | | | If the caller already disabled interrupts, then do not disable thread dispatching. Calling _SMP_Multicast_action() with interrupts disabled is a questionable use case.
* score: Improve _SMP_Multicast_action()Sebastian Huber2019-04-121-7/+20
| | | | Let it work during system initialization.
* score: Rework SMP multicast actionSebastian Huber2019-04-121-76/+173
| | | | | Use a FIFO list of jobs per processor to carry out the SMP multicast action. Use a done indicator per job to reduce the bus traffic a bit.
* score: Use processor mask in _SMP_Multicast_actionSebastian Huber2019-04-121-17/+7
| | | | Processor_mask is the internal data type to deal with processor sets.
* score: Rename _SMP_Get_processor_count()Sebastian Huber2019-04-111-1/+1
| | | | | | | Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be in line with the API level rtems_scheduler_get_processor_maximum(). Update #3732.
* score: Avoid internal API and use ISR lockSebastian Huber2019-01-181-9/+9
|
* score: Introduce _SMP_Get_online_processors()Sebastian Huber2017-07-071-1/+1
| | | | Update #3059.
* score: Use <sys/bitset.h> for Processor_maskSebastian Huber2017-07-061-8/+8
| | | | | | | | Implement the Processor_mask via <sys/bitset.h>. Provide _Processor_mask_To_uint32_t() to enable its use in device specific routines, e.g. interrupt affinity register in an interrupt controller. Update #3059.
* SMP: Simplify SMP multicast actionsSebastian Huber2017-04-051-54/+48
|
* score: Fix for RTEMS_DEBUGSebastian Huber2016-07-251-0/+1
|
* score: Rename _ISR_Disable_without_giant()Sebastian Huber2016-05-201-2/+2
| | | | | | | | | Rename _ISR_Disable_without_giant() into _ISR_Local_disable(). Rename _ISR_Enable_without_giant() into _ISR_Local_enable(). This is a preparation to remove the Giant lock. Update #2555.
* score: Add _SMP_Before_multitasking_action()Sebastian Huber2016-03-041-2/+2
| | | | | | | | | The use case for this is the Cortex-A9 MPCore which has per-processor registers (only accessible by a particular processor) for the global timer used by the clock driver. This might be useful for other drivers as well. Update #2554.
* score: Refactor SMP cache manager supportSebastian Huber2015-04-201-0/+141