arc: significant cache rework
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Mon, 18 May 2015 13:56:26 +0000 (16:56 +0300)
committerAlexey Brodkin <abrodkin@synopsys.com>
Wed, 1 Jul 2015 14:17:27 +0000 (17:17 +0300)
commitef639e6f7076c19959f40f367cead5108d099592
treecea7b5dba213bd2a88041cca9485e19a75d0e3df
parent8b2eb776b13055e71f94367c06a26c5e3a902f16
arc: significant cache rework

[1] Align cache management functions to those in Linux kernel. I.e.:
    a) Use the same functions for all cache ops (D$ Inv/Flush)
    b) Split cache ops in 3 sub-functions: "before", "lineloop" and
"after". That way we may re-use "before" and "after" functions for
region and full cache ops.

 [2] Implement full-functional L2 (SLC) management. Before SLC was
simply disabled early on boot. It's also possible to enable or disable
L2 cache from config utility.

 [3] Disable/enable corresponding caches early on boot. So if U-Boot is
configured to use caches they will be used at all times (this is useful
in partucular for speed-up of relocation).

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
arch/arc/include/asm/arcregs.h
arch/arc/include/asm/cache.h
arch/arc/lib/cache.c
arch/arc/lib/cpu.c
arch/arc/lib/init_helpers.c
arch/arc/lib/start.S