Commit Graph

11 Commits

Author SHA1 Message Date
Sebastian Huber
0ea2638441 bsps/cache: Optimize smp_cache_broadcast()
Directly call the handler on the executing processor instead of doing this
indirectly via a per-CPU job.
2021-07-29 09:14:33 +02:00
Sebastian Huber
361ec32070 cacheimpl.h: Avoid potential dead code
If CPU_DATA_CACHE_ALIGNMENT == CPU_INSTRUCTION_CACHE_ALIGNMENT we had
dead code with the previous implementation.

This fix relates to CID 1399776 (DEADCODE).
2021-01-27 19:02:03 +01:00
Sebastian Huber
3b2481f9a7 score: Simplify _SMP_Multicast_action()
Move resposibility to disable thread dispatching to the caller of
_SMP_Multicast_action().  Using an interrupt disable for this purpose is
questionable.
2019-05-20 08:49:39 +02:00
Sebastian Huber
658700449d score: Add _SMP_Broadcast_action() 2019-05-20 08:49:39 +02:00
Sebastian Huber
df8d7bd76f score: Use processor mask in _SMP_Multicast_action
Processor_mask is the internal data type to deal with processor sets.
2019-04-12 09:44:48 +02:00
Sebastian Huber
b0c2d48235 bsps: Add CPU_CACHE_SUPPORT_PROVIDES_DISABLE_DATA
Update #3667.
2018-12-21 10:32:39 +01:00
Sebastian Huber
5e0ab023cb bsps: Update cache manager documentation
Update #3667.
2018-12-21 10:32:37 +01:00
Sebastian Huber
a6f70e1a09 bsps: Remove superfluous comments in cacheimpl.h
Remove superfluous blank lines.

Update #3667.
2018-12-21 10:32:34 +01:00
Sebastian Huber
5bf0c1a4fa bsps/sparc: Fix SMP build
Update #3622.
2018-11-28 14:52:55 +01:00
Sebastian Huber
0a75a4aa65 Remove rtems_cache_*_processor_set() functions
The following rtems_cache_*_processor_set() cache manager API functions
are exotic, complex, very hard to use correctly, not used in the RTEMS
code base, and apparently unused by applications.

Close #3622.
2018-11-26 14:09:43 +01:00
Sebastian Huber
4cf93658ef bsps: Rework cache manager implementation
The previous cache manager support used a single souce file
(cache_manager.c) which included an implementation header (cache_.h).
This required the use of specialized include paths to find the right
header file.  Change this to include a generic implementation header
(cacheimpl.h) in specialized source files.

Use the following directories and files:

* bsps/shared/cache

* bsps/@RTEMS_CPU@/shared/cache

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY/start/cache.c

Update #3285.
2018-01-31 12:49:09 +01:00