summaryrefslogtreecommitdiffstats
path: root/arch/mn10300/mm/Kconfig.cache
blob: 97adc06e7128c6fda0db5345a50f699e237db973 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#
# MN10300 CPU cache options
#

choice
	prompt "CPU Caching mode"
	default MN10300_CACHE_WBACK
	help
	  This option determines the caching mode for the kernel.

	  Write-Back caching mode involves the all reads and writes causing
	  the affected cacheline to be read into the cache first before being
	  operated upon. Memory is not then updated by a write until the cache
	  is filled and a cacheline needs to be displaced from the cache to
	  make room. Only at that point is it written back.

	  Write-Through caching only fetches cachelines from memory on a
	  read. Writes always get written directly to memory. If the affected
	  cacheline is also in cache, it will be updated too.

	  The final option is to turn of caching entirely.

config MN10300_CACHE_WBACK
	bool "Write-Back"

config MN10300_CACHE_WTHRU
	bool "Write-Through"

config MN10300_CACHE_DISABLED
	bool "Disabled"

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 if !AM34_2
	default MN10300_CACHE_MANAGE_BY_REG if AM34_2
	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"

config MN10300_CACHE_MANAGE_BY_REG
	bool "Flush areas by way of automatic purge registers (AM34 only)"
	depends on AM34_2

endchoice

config MN10300_CACHE_INV_BY_TAG
	def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED

config MN10300_CACHE_INV_BY_REG
	def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_ENABLED

config MN10300_CACHE_FLUSH_BY_TAG
	def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_WBACK

config MN10300_CACHE_FLUSH_BY_REG
	def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_WBACK