blob: 97adc06e7128c6fda0db5345a50f699e237db973 [file] [log] [blame]
David Howells0bc42d72010-10-27 17:28:41 +01001#
2# MN10300 CPU cache options
3#
4
5choice
6 prompt "CPU Caching mode"
7 default MN10300_CACHE_WBACK
8 help
9 This option determines the caching mode for the kernel.
10
11 Write-Back caching mode involves the all reads and writes causing
12 the affected cacheline to be read into the cache first before being
13 operated upon. Memory is not then updated by a write until the cache
14 is filled and a cacheline needs to be displaced from the cache to
15 make room. Only at that point is it written back.
16
17 Write-Through caching only fetches cachelines from memory on a
18 read. Writes always get written directly to memory. If the affected
19 cacheline is also in cache, it will be updated too.
20
21 The final option is to turn of caching entirely.
22
23config MN10300_CACHE_WBACK
24 bool "Write-Back"
25
26config MN10300_CACHE_WTHRU
27 bool "Write-Through"
28
29config MN10300_CACHE_DISABLED
30 bool "Disabled"
31
32endchoice
David Howells344af922010-10-27 17:28:42 +010033
34config MN10300_CACHE_ENABLED
35 def_bool y if !MN10300_CACHE_DISABLED
David Howells518d4bb2010-10-27 17:28:43 +010036
37
38choice
39 prompt "CPU cache flush/invalidate method"
Akira Takeuchi9731d232010-10-27 17:28:45 +010040 default MN10300_CACHE_MANAGE_BY_TAG if !AM34_2
41 default MN10300_CACHE_MANAGE_BY_REG if AM34_2
David Howells518d4bb2010-10-27 17:28:43 +010042 depends on MN10300_CACHE_ENABLED
43 help
44 This determines the method by which CPU cache flushing and
45 invalidation is performed.
46
47config MN10300_CACHE_MANAGE_BY_TAG
48 bool "Use the cache tag registers directly"
49
Akira Takeuchi9731d232010-10-27 17:28:45 +010050config MN10300_CACHE_MANAGE_BY_REG
51 bool "Flush areas by way of automatic purge registers (AM34 only)"
52 depends on AM34_2
53
David Howells518d4bb2010-10-27 17:28:43 +010054endchoice
55
56config MN10300_CACHE_INV_BY_TAG
57 def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED
58
Akira Takeuchi9731d232010-10-27 17:28:45 +010059config MN10300_CACHE_INV_BY_REG
60 def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_ENABLED
61
David Howells518d4bb2010-10-27 17:28:43 +010062config MN10300_CACHE_FLUSH_BY_TAG
63 def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_WBACK
Akira Takeuchi9731d232010-10-27 17:28:45 +010064
65config MN10300_CACHE_FLUSH_BY_REG
66 def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_WBACK