cns3xxx: add linux 3.8 support and use it by default
[openwrt/svn-archive/archive.git] / target / linux / cns3xxx / patches-3.8 / 021-cache_force_multi.patch
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 (file)
index 0000000..536d9ca
--- /dev/null
@@ -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)