diff options
author | David Howells <dhowells@redhat.com> | 2010-10-27 17:28:43 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2010-10-27 17:28:43 +0100 |
commit | 518d4bb7464dd3c04aeb23874dc360b54058c01e (patch) | |
tree | dd8d4e9106d30b3c9432def9700e2b4ec205a915 /arch | |
parent | 93c10d3d68c469c1addacbc541da5518f1de021d (diff) | |
download | op-kernel-dev-518d4bb7464dd3c04aeb23874dc360b54058c01e.zip op-kernel-dev-518d4bb7464dd3c04aeb23874dc360b54058c01e.tar.gz |
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')
-rw-r--r-- | arch/mn10300/mm/Kconfig.cache | 20 | ||||
-rw-r--r-- | arch/mn10300/mm/Makefile | 5 | ||||
-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 56a88dd..aa6ff07 100644 --- a/arch/mn10300/mm/Kconfig.cache +++ b/arch/mn10300/mm/Kconfig.cache @@ -33,3 +33,23 @@ endchoice config MN10300_CACHE_ENABLED def_bool y if !MN10300_CACHE_DISABLED + + +choice + prompt "CPU cache flush/invalidate method" + default MN10300_CACHE_MANAGE_BY_TAG + depends on MN10300_CACHE_ENABLED + help + This determines the method by which CPU cache flushing and + invalidation is performed. + +config MN10300_CACHE_MANAGE_BY_TAG + bool "Use the cache tag registers directly" + +endchoice + +config MN10300_CACHE_INV_BY_TAG + def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED + +config MN10300_CACHE_FLUSH_BY_TAG + 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 1557277..dc4b9f0 100644 --- a/arch/mn10300/mm/Makefile +++ b/arch/mn10300/mm/Makefile @@ -2,8 +2,9 @@ # Makefile for the MN10300-specific memory management code # -cacheflush-y := cache.o cache-mn10300.o -cacheflush-$(CONFIG_MN10300_CACHE_WBACK) += cache-flush-mn10300.o +cacheflush-y := cache.o +cacheflush-$(CONFIG_MN10300_CACHE_INV_BY_TAG) += cache-inv-by-tag.o +cacheflush-$(CONFIG_MN10300_CACHE_FLUSH_BY_TAG) += cache-flush-by-tag.o cacheflush-$(CONFIG_MN10300_CACHE_DISABLED) := cache-disabled.o diff --git a/arch/mn10300/mm/cache-flush-mn10300.S b/arch/mn10300/mm/cache-flush-by-tag.S index c8ed1cb..c8ed1cb 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 e839d0a..e839d0a 100644 --- a/arch/mn10300/mm/cache-mn10300.S +++ b/arch/mn10300/mm/cache-inv-by-tag.S |