summaryrefslogtreecommitdiffstats
path: root/target/linux/cns3xxx/patches-3.8/021-cache_force_multi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/cns3xxx/patches-3.8/021-cache_force_multi.patch')
-rw-r--r--target/linux/cns3xxx/patches-3.8/021-cache_force_multi.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/cns3xxx/patches-3.8/021-cache_force_multi.patch b/target/linux/cns3xxx/patches-3.8/021-cache_force_multi.patch
new file mode 100644
index 000000000..536d9cad1
--- /dev/null
+++ b/target/linux/cns3xxx/patches-3.8/021-cache_force_multi.patch
@@ -0,0 +1,35 @@
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -366,6 +366,7 @@ config ARCH_CNS3XXX
+ select MIGHT_HAVE_PCI
+ select PCI_DOMAINS if PCI
+ select CLKDEV_LOOKUP
++ select CPU_CACHE_FORCE_MULTI
+ help
+ Support for Cavium Networks CNS3XXX platform.
+
+--- a/arch/arm/mm/Kconfig
++++ b/arch/arm/mm/Kconfig
+@@ -496,6 +496,9 @@ config CPU_CACHE_VIPT
+ config CPU_CACHE_FA
+ bool
+
++config CPU_CACHE_FORCE_MULTI
++ bool
++
+ if MMU
+ # The copy-page model
+ config CPU_COPY_V4WT
+--- a/arch/arm/include/asm/glue-cache.h
++++ b/arch/arm/include/asm/glue-cache.h
+@@ -129,6 +129,10 @@
+ #error Unknown cache maintenance model
+ #endif
+
++#if defined(CONFIG_CPU_CACHE_FORCE_MULTI) && !defined(MULTI_CACHE)
++#define MULTI_CACHE 1
++#endif
++
+ #ifndef MULTI_CACHE
+ #define __cpuc_flush_icache_all __glue(_CACHE,_flush_icache_all)
+ #define __cpuc_flush_kern_all __glue(_CACHE,_flush_kern_cache_all)