aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300/mm
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2010-10-27 12:28:43 -0400
committerDavid Howells <dhowells@redhat.com>2010-10-27 12:28:43 -0400
commit518d4bb7464dd3c04aeb23874dc360b54058c01e (patch)
treedd8d4e9106d30b3c9432def9700e2b4ec205a915 /arch/mn10300/mm
parent93c10d3d68c469c1addacbc541da5518f1de021d (diff)
MN10300: AM34: The current cacheflush routines operate by controlling tag regs
The current cache flush and invalidate routines operate by controlling the cache tag registers. Rename the files and add config items to select them. This makes it easier to support the use of other cache flush methods instead, such as the use of AM34's area purge registers, if available. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/mm')
-rw-r--r--arch/mn10300/mm/Kconfig.cache20
-rw-r--r--arch/mn10300/mm/Makefile5
-rw-r--r--arch/mn10300/mm/cache-flush-by-tag.S (renamed from arch/mn10300/mm/cache-flush-mn10300.S)0
-rw-r--r--arch/mn10300/mm/cache-inv-by-tag.S (renamed from arch/mn10300/mm/cache-mn10300.S)0
4 files changed, 23 insertions, 2 deletions
diff --git a/arch/mn10300/mm/Kconfig.cache b/arch/mn10300/mm/Kconfig.cache
index 56a88dd9c70c..aa6ff0791138 100644
--- a/arch/mn10300/mm/Kconfig.cache
+++ b/arch/mn10300/mm/Kconfig.cache
@@ -33,3 +33,23 @@ endchoice
33 33
34config MN10300_CACHE_ENABLED 34config MN10300_CACHE_ENABLED
35 def_bool y if !MN10300_CACHE_DISABLED 35 def_bool y if !MN10300_CACHE_DISABLED
36
37
38choice
39 prompt "CPU cache flush/invalidate method"
40 default MN10300_CACHE_MANAGE_BY_TAG
41 depends on MN10300_CACHE_ENABLED
42 help
43 This determines the method by which CPU cache flushing and
44 invalidation is performed.
45
46config MN10300_CACHE_MANAGE_BY_TAG
47 bool "Use the cache tag registers directly"
48
49endchoice
50
51config MN10300_CACHE_INV_BY_TAG
52 def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED
53
54config MN10300_CACHE_FLUSH_BY_TAG
55 def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_WBACK
diff --git a/arch/mn10300/mm/Makefile b/arch/mn10300/mm/Makefile
index 1557277fbc5c..dc4b9f0ea65c 100644
--- a/arch/mn10300/mm/Makefile
+++ b/arch/mn10300/mm/Makefile
@@ -2,8 +2,9 @@
2# Makefile for the MN10300-specific memory management code 2# Makefile for the MN10300-specific memory management code
3# 3#
4 4
5cacheflush-y := cache.o cache-mn10300.o 5cacheflush-y := cache.o
6cacheflush-$(CONFIG_MN10300_CACHE_WBACK) += cache-flush-mn10300.o 6cacheflush-$(CONFIG_MN10300_CACHE_INV_BY_TAG) += cache-inv-by-tag.o
7cacheflush-$(CONFIG_MN10300_CACHE_FLUSH_BY_TAG) += cache-flush-by-tag.o
7 8
8cacheflush-$(CONFIG_MN10300_CACHE_DISABLED) := cache-disabled.o 9cacheflush-$(CONFIG_MN10300_CACHE_DISABLED) := cache-disabled.o
9 10
diff --git a/arch/mn10300/mm/cache-flush-mn10300.S b/arch/mn10300/mm/cache-flush-by-tag.S
index c8ed1cbac107..c8ed1cbac107 100644
--- a/arch/mn10300/mm/cache-flush-mn10300.S
+++ b/arch/mn10300/mm/cache-flush-by-tag.S
diff --git a/arch/mn10300/mm/cache-mn10300.S b/arch/mn10300/mm/cache-inv-by-tag.S
index e839d0aedd69..e839d0aedd69 100644
--- a/arch/mn10300/mm/cache-mn10300.S
+++ b/arch/mn10300/mm/cache-inv-by-tag.S