summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/shared/src/cache_manager.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-31bsps: Rework cache manager implementationSebastian Huber1-521/+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-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 Johns1-1/+1
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
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.
2009-11-30Whitespace removal.Ralf Corsepius1-7/+7
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* shared/include/cache.h, shared/src/cache_aligned_malloc.c, shared/src/cache_manager.c: URL for license changed.
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 Sherrill1-62/+63
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 Sherrill1-66/+106
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.
2000-06-12Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine GauthierJoel Sherrill1-0/+252
<charles.gauthier@iit.nrc.ca>, and Darlene A. Stewart <Darlene.Stewart@nrc.ca> to add support for a number of very significant things: + BSPs for many variations on the Motorola MBX8xx board series + Cache Manager including initial support for m68040 and PowerPC + Rework of mpc8xx libcpu code so all mpc8xx CPUs now use same code base. + Rework of eth_comm BSP to utiltize above. John reports this works on the 821 and 860