[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