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

Reply via email to