diff options
author | Akira Takeuchi <takeuchi.akr@jp.panasonic.com> | 2010-10-27 12:28:45 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2010-10-27 12:28:45 -0400 |
commit | 9731d23710736b96786d68c2e63148ff3f22e6eb (patch) | |
tree | b3804df43f25ba8c8aaf1de94a98c0cb22f69d7e /arch/mn10300/mm/Kconfig.cache | |
parent | 0bd3eb6ca772775da6125ea5b044d4257473d18d (diff) |
MN10300: AM34: Add cacheflushing by using the AM34 purge registers
The AM34 CPU core provides an automated way of purging the cache rather than
manually iterating over all the tags in the cache. Make it possible to use
these.
Signed-off-by: Akira Takeuchi <takeuchi.akr@jp.panasonic.com>
Signed-off-by: Kiyoshi Owada <owada.kiyoshi@jp.panasonic.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/mm/Kconfig.cache')
-rw-r--r-- | arch/mn10300/mm/Kconfig.cache | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/mn10300/mm/Kconfig.cache b/arch/mn10300/mm/Kconfig.cache index aa6ff0791138..97adc06e7128 100644 --- a/arch/mn10300/mm/Kconfig.cache +++ b/arch/mn10300/mm/Kconfig.cache | |||
@@ -37,7 +37,8 @@ config MN10300_CACHE_ENABLED | |||
37 | 37 | ||
38 | choice | 38 | choice |
39 | prompt "CPU cache flush/invalidate method" | 39 | prompt "CPU cache flush/invalidate method" |
40 | default MN10300_CACHE_MANAGE_BY_TAG | 40 | default MN10300_CACHE_MANAGE_BY_TAG if !AM34_2 |
41 | default MN10300_CACHE_MANAGE_BY_REG if AM34_2 | ||
41 | depends on MN10300_CACHE_ENABLED | 42 | depends on MN10300_CACHE_ENABLED |
42 | help | 43 | help |
43 | This determines the method by which CPU cache flushing and | 44 | This determines the method by which CPU cache flushing and |
@@ -46,10 +47,20 @@ choice | |||
46 | config MN10300_CACHE_MANAGE_BY_TAG | 47 | config MN10300_CACHE_MANAGE_BY_TAG |
47 | bool "Use the cache tag registers directly" | 48 | bool "Use the cache tag registers directly" |
48 | 49 | ||
50 | config MN10300_CACHE_MANAGE_BY_REG | ||
51 | bool "Flush areas by way of automatic purge registers (AM34 only)" | ||
52 | depends on AM34_2 | ||
53 | |||
49 | endchoice | 54 | endchoice |
50 | 55 | ||
51 | config MN10300_CACHE_INV_BY_TAG | 56 | config MN10300_CACHE_INV_BY_TAG |
52 | def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED | 57 | def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED |
53 | 58 | ||
59 | config MN10300_CACHE_INV_BY_REG | ||
60 | def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_ENABLED | ||
61 | |||
54 | config MN10300_CACHE_FLUSH_BY_TAG | 62 | config MN10300_CACHE_FLUSH_BY_TAG |
55 | def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_WBACK | 63 | def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_WBACK |
64 | |||
65 | config MN10300_CACHE_FLUSH_BY_REG | ||
66 | def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_WBACK | ||