[RTEMS Project] #3622: Remove cache routines working with a processor set

RTEMS trac trac at rtems.org
Mon Nov 26 12:57:27 UTC 2018


#3622: Remove cache routines working with a processor set
------------------------------+-----------------------------
  Reporter:  Sebastian Huber  |      Owner:  Sebastian Huber
      Type:  task             |     Status:  assigned
  Priority:  normal           |  Milestone:  5.1
 Component:  unspecified      |    Version:  5
  Severity:  normal           |   Keywords:
Blocked By:                   |   Blocking:
------------------------------+-----------------------------
 The following cache manager API functions are exotic, complex, very hard
 to use correctly, not used in the RTEMS code base, and apparently unused
 by applications
 (https://lists.rtems.org/pipermail/users/2018-November/032764.html).
 Remove these functions
 {{{
 /**
  * @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
 );
 }}}

--
Ticket URL: <http://devel.rtems.org/ticket/3622>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list