summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bsps/shared/cache/cacheimpl.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/bsps/shared/cache/cacheimpl.h b/bsps/shared/cache/cacheimpl.h
index 96dc3c0361..db84e056d7 100644
--- a/bsps/shared/cache/cacheimpl.h
+++ b/bsps/shared/cache/cacheimpl.h
@@ -41,6 +41,10 @@
#include <rtems.h>
+#if defined(RTEMS_SMP) && defined(CPU_CACHE_NO_INSTRUCTION_CACHE_SNOOPING)
+#include <rtems/score/smpimpl.h>
+#endif
+
#if CPU_DATA_CACHE_ALIGNMENT > CPU_CACHE_LINE_BYTES
#error "CPU_DATA_CACHE_ALIGNMENT is greater than CPU_CACHE_LINE_BYTES"
#endif
@@ -234,6 +238,11 @@ rtems_cache_disable_data( void )
&& defined(RTEMS_SMP) \
&& defined(CPU_CACHE_NO_INSTRUCTION_CACHE_SNOOPING)
+typedef struct {
+ const void *addr;
+ size_t size;
+} smp_cache_area;
+
static void smp_cache_inst_inv(void *arg)
{
smp_cache_area *area = arg;