arc: check caches existence before use
authorIgor Guryanov <guryanov@synopsys.com>
Wed, 24 Dec 2014 13:07:07 +0000 (16:07 +0300)
committerAlexey Brodkin <abrodkin@synopsys.com>
Thu, 15 Jan 2015 19:38:42 +0000 (22:38 +0300)
commitf8cf3d1ebdf7622f65c4eeba9eae1ed04982de12
tree0c6ef6836bf450895c669e52a7c9b9b2042dca62
parent28c4dae114c9b94b2a1111d81d4da716e9fc2cba
arc: check caches existence before use

Some cache operations ({i|d}cache_{enable|disable|status} or
flush_dcache_all) are built and used even if CONFIG_SYS_{I|D}CACHE_OFF
is set.

This is required for force disable of caches on early boot.
What if something was executed before U-boot and enabled caches
(low-level bootloaders, previously run kernel etc.)?

But if CPU doesn't really have caches any attempt to access
cache-related AUX registers triggers instruction error exception.

So for convenience we'll try to avoid exceptions by checking if CPU
actually has caches (we check separately data and instruction cache
existence) at all.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Igor Guryanov <guryanov@synopsys.com>
arch/arc/cpu/arc700/cache.c
arch/arc/include/asm/arcregs.h