summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/shared (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Rework cache manager implementationSebastian Huber2018-01-313-626/+0
| | | | | | | | | | | | | | | | | | 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.
* rtems+bsps/cache: Define cache manager operations for code synchronization ↵Pavel Pisa2016-07-041-0/+42
| | | | | | | | | | | | | | and maximal alignment. There is need for unambiguous named and defined cache function which should be called when code is updated, loaded or is self-modifying. There should be function to obtain maximal cache line length as well. This function can and should be used for allocations which can be used for data and or code and ensures that there are no partial cache lines overlaps on start and end of allocated region.
* score: Introduce CPU_CACHE_LINE_BYTESSebastian Huber2016-01-261-0/+8
| | | | | Add CPU_CACHE_LINE_BYTES for the maximum cache line size in bytes. The actual processor may use no cache or a smaller cache line size.
* bsps/cache: Clarify range functions supportSebastian Huber2015-04-272-4/+6
|
* Fix broken BSPs due to a shared cache function declaration.Hesham ALMatary2015-04-271-1/+0
| | | | | Get rid of _CPU_cache_invalidate_instruction_range declaration as it doesn't make sense here.
* score: Refactor SMP cache manager supportSebastian Huber2015-04-201-172/+51
|
* rtems: Use atomic operation with correct typeDaniel Cederman2015-03-201-1/+1
|
* rtems: Move rtems_cache_aligned_malloc()Sebastian Huber2014-11-251-43/+0
| | | | | | Make sure also the size is cache aligned since otherwise we may have some overlap with the next allocation block. A cache invalidate on this area would be fatal.
* score: Add missing define to cache managerDaniel Cederman2014-08-251-0/+2
|
* score: Add SMP support to the cache managerDaniel Cederman2014-08-221-6/+252
| | | | | | | | | Adds functions that allows the user to specify which cores that should perform the cache operation. SMP messages are sent to all the specified cores and the caller waits until all cores have acknowledged that they have flushed their cache. If CPU_CACHE_NO_INSTRUCTION_CACHE_SNOOPING is defined the instruction cache invalidation function will perform the operation on all cores using the previous method.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-213-3/+3
|
* rtems: Add cache size functionsSebastian Huber2014-02-281-0/+21
| | | | | Add rtems_cache_get_data_cache_size() and rtems_cache_get_instruction_cache_size().
* rtems: Use size_t for cache line sizeSebastian Huber2014-02-281-2/+2
| | | | A cache line cannot have a negative size.
* rtems_cache_invalidate_multiple_instruction_linesAleksandr Platonov2014-01-141-1/+1
| | | | | | | | According with comment in rtems_cache_invalidate_multiple_instruction_lines(), final_address indicates the last address which needs to be invalidated. But if in while loop we got final_address == i_addr condition then loop breaks and final_address will not be invalidated.
* bsps: Fix cache manager supportSebastian Huber2013-09-101-0/+3
|
* bsp/xilinx-zynq: Add cache supportRic Claus2013-08-261-1/+18
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-113-6/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-12-10 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-101-1/+3
| | | | | | PR 1986/libcpu * shared/src/cache_aligned_malloc.c: Include <rtems/rtems/cache.h>.
* 2011-06-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-06-072-5/+0
| | | | | * shared/include/cache.h, shared/src/cache_manager.c: Removed include files to reduce implementation constraints.
* 2010-05-30 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-05-301-0/+67
| | | | * shared/src/no_cache.c: New file.
* Whitespace removal.Ralf Corsepius2009-11-302-9/+9
|
* remove fileThomas Doerfler2008-10-101-54/+0
|
* shared/include/utility.h: New file.Thomas Doerfler2008-09-221-0/+54
|
* Remove stray white spaces.Ralf Corsepius2004-04-151-1/+0
|
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-043-3/+3
| | | | | * shared/include/cache.h, shared/src/cache_aligned_malloc.c, shared/src/cache_manager.c: URL for license changed.
* 2000-12-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-12-061-0/+1
| | | | | * shared/src/cache_aligned_malloc.c: Added include of <stdlib.h> to eliminate warnings.
* 2000-11-14 Jiri Gaisler <jgais@ws.estec.esa.nl>Joel Sherrill2000-11-151-1/+1
| | | | | | | * shared/src/cache_manager.c (rtems_cache_invalidate_multiple_instruction_lines): If CPU_INSTRUCTION_CACHE_ALIGNMENT is defined but 0, then there is an instruction cache but no notion of line size.
* 2000-10-18 John Cotton <john.cotton@nrc.ca>Joel Sherrill2000-10-181-0/+16
| | | | * shared/include/cache.h: Improved file header.
* 2000-10-12 Nick Simon <Nick.SIMON@syntegra.bt.co.uk>Joel Sherrill2000-10-121-1/+1
| | | | | * shared/src/cache_manager.c: Minor bug fix -- changed > to >= so the last address is invalidated.
* 2000-08-10 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>Joel Sherrill2000-08-101-0/+12
| | | | | | * shared/src/cache_manager.c (rtems_cache_flush_multiple_data_lines, rtems_cache_invalidate_multiple_data_lines): Do not operate on the entire address space when flushing zero bytes.
* Patch from John Cotton <john.cotton@nrc.ca> to correct cacheJoel Sherrill2000-06-143-83/+80
| | | | | | routine naming to follow RTEMS package/object.method rule. This patch also eliminated calls to the obsolete routine m68k_enable_caching.
* Moved i386 and m68k cache management code to libcpu. EverythingJoel Sherrill2000-06-133-0/+367
now is an implementation of the prototypes in rtems/rtems/cache.h. The libcpu/i386/wrapup directory is no longer needed. The PowerPC needs this done to it.