2010-10-27 16:28:41 +00:00
|
|
|
#
|
|
|
|
# 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
|
2010-10-27 16:28:42 +00:00
|
|
|
|
|
|
|
config MN10300_CACHE_ENABLED
|
|
|
|
def_bool y if !MN10300_CACHE_DISABLED
|
2010-10-27 16:28:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "CPU cache flush/invalidate method"
|
2010-10-27 16:28:45 +00:00
|
|
|
default MN10300_CACHE_MANAGE_BY_TAG if !AM34_2
|
|
|
|
default MN10300_CACHE_MANAGE_BY_REG if AM34_2
|
2010-10-27 16:28:43 +00:00
|
|
|
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"
|
|
|
|
|
2010-10-27 16:28:45 +00:00
|
|
|
config MN10300_CACHE_MANAGE_BY_REG
|
|
|
|
bool "Flush areas by way of automatic purge registers (AM34 only)"
|
|
|
|
depends on AM34_2
|
|
|
|
|
2010-10-27 16:28:43 +00:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
config MN10300_CACHE_INV_BY_TAG
|
|
|
|
def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_ENABLED
|
|
|
|
|
2010-10-27 16:28:45 +00:00
|
|
|
config MN10300_CACHE_INV_BY_REG
|
|
|
|
def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_ENABLED
|
|
|
|
|
2010-10-27 16:28:43 +00:00
|
|
|
config MN10300_CACHE_FLUSH_BY_TAG
|
|
|
|
def_bool y if MN10300_CACHE_MANAGE_BY_TAG && MN10300_CACHE_WBACK
|
2010-10-27 16:28:45 +00:00
|
|
|
|
|
|
|
config MN10300_CACHE_FLUSH_BY_REG
|
|
|
|
def_bool y if MN10300_CACHE_MANAGE_BY_REG && MN10300_CACHE_WBACK
|