summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/shared/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-31bsps: Rework cache manager implementationSebastian Huber2-586/+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.
2016-07-04rtems+bsps/cache: Define cache manager operations for code synchronization ↵Pavel Pisa1-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.
2016-01-26score: Introduce CPU_CACHE_LINE_BYTESSebastian Huber1-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.
2015-04-27bsps/cache: Clarify range functions supportSebastian Huber1-2/+6
2015-04-20score: Refactor SMP cache manager supportSebastian Huber1-172/+51
2015-03-20rtems: Use atomic operation with correct typeDaniel Cederman1-1/+1
2014-11-25rtems: Move rtems_cache_aligned_malloc()Sebastian Huber1-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.
2014-08-25score: Add missing define to cache managerDaniel Cederman1-0/+2
2014-08-22score: Add SMP support to the cache managerDaniel Cederman1-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.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns2-2/+2
2014-02-28rtems: Add cache size functionsSebastian Huber1-0/+21
Add rtems_cache_get_data_cache_size() and rtems_cache_get_instruction_cache_size().
2014-02-28rtems: Use size_t for cache line sizeSebastian Huber1-2/+2
A cache line cannot have a negative size.
2014-01-14rtems_cache_invalidate_multiple_instruction_linesAleksandr Platonov1-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.
2013-08-26bsp/xilinx-zynq: Add cache supportRic Claus1-1/+18
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2-4/+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-102011-12-10 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+3
PR 1986/libcpu * shared/src/cache_aligned_malloc.c: Include <rtems/rtems/cache.h>.
2011-06-072011-06-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-3/+0
* shared/include/cache.h, shared/src/cache_manager.c: Removed include files to reduce implementation constraints.
2010-05-302010-05-30 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+67
* shared/src/no_cache.c: New file.
2009-11-30Whitespace removal.Ralf Corsepius1-7/+7
2004-04-15Remove stray white spaces.Ralf Corsepius1-1/+0
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2-2/+2
* shared/include/cache.h, shared/src/cache_aligned_malloc.c, shared/src/cache_manager.c: URL for license changed.
2000-12-062000-12-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+1
* shared/src/cache_aligned_malloc.c: Added include of <stdlib.h> to eliminate warnings.
2000-11-152000-11-14 Jiri Gaisler <jgais@ws.estec.esa.nl>Joel Sherrill1-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-122000-10-12 Nick Simon <Nick.SIMON@syntegra.bt.co.uk>Joel Sherrill1-1/+1
* shared/src/cache_manager.c: Minor bug fix -- changed > to >= so the last address is invalidated.
2000-08-102000-08-10 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>Joel Sherrill1-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.
2000-06-14Patch from John Cotton <john.cotton@nrc.ca> to correct cacheJoel Sherrill2-65/+66
routine naming to follow RTEMS package/object.method rule. This patch also eliminated calls to the obsolete routine m68k_enable_caching.
2000-06-13Moved i386 and m68k cache management code to libcpu. EverythingJoel Sherrill2-0/+335
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.