Hi Sebastian None of the above, but we used to use rtems_cache_invalidate_entire_instruction / rtems_cache_invalidate_multiple_data_lines but now use arch specific methods instead.
On Wed, 14 Nov 2018 at 06:21, Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote: > Hello, > > are the following cache manager routines used in an application or > device driver code? > > /** > * @brief Flushes multiple data cache lines for a set of processors > * > * Dirty cache lines covering the area are transferred to memory. > * Depending on the cache implementation this may mark the lines as > invalid. > * > * This operation should not be called from interrupt context. > * > * @param[in] addr The start address of the area to flush. > * @param[in] size The size in bytes of the area to flush. > * @param[in] setsize The size of the processor set. > * @param[in] set The target processor set. > */ > void rtems_cache_flush_multiple_data_lines_processor_set( > const void *addr, > size_t size, > const size_t setsize, > const cpu_set_t *set > ); > > /** > * @brief Invalidates multiple data cache lines for a set of processors > * > * The cache lines covering the area are marked as invalid. A later read > * access in the area will load the data from memory. > * > * In case the area is not aligned on cache line boundaries, then this > * operation may destroy unrelated data. > * > * This operation should not be called from interrupt context. > * > * @param[in] addr The start address of the area to invalidate. > * @param[in] size The size in bytes of the area to invalidate. > * @param[in] setsize The size of the processor set. > * @param[in] set The target processor set. > */ > void rtems_cache_invalidate_multiple_data_lines_processor_set( > const void *addr, > size_t size, > const size_t setsize, > const cpu_set_t *set > ); > > /** > * @brief Flushes the entire data cache for a set of processors > * > * This operation should not be called from interrupt context. > * > * @see rtems_cache_flush_multiple_data_lines(). > * > * @param[in] setsize The size of the processor set. > * @param[in] set The target processor set. > */ > void rtems_cache_flush_entire_data_processor_set( > const size_t setsize, > const cpu_set_t *set > ); > > /** > * @brief Invalidates the entire cache for a set of processors > * > * This function is responsible for performing a data cache > * invalidate. It invalidates the entire cache for a set of > * processors. > * > * This operation should not be called from interrupt context. > * > * @param[in] setsize The size of the processor set. > * @param[in] set The target processor set. > */ > void rtems_cache_invalidate_entire_data_processor_set( > const size_t setsize, > const cpu_set_t *set > ); > > I would like to remove these exotic, complex and very hard to use > correctly functions. > > -- > Sebastian Huber, embedded brains GmbH > > Address : Dornierstr. 4, D-82178 Puchheim, Germany > Phone : +49 89 189 47 41-16 > Fax : +49 89 189 47 41-09 > E-Mail : sebastian.hu...@embedded-brains.de > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > > _______________________________________________ > users mailing list > users@rtems.org > http://lists.rtems.org/mailman/listinfo/users -- regards --- Matthew J Fletcher
_______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users