arc: cache - accommodate different L1 cache line lengths
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Mon, 14 Dec 2015 14:14:46 +0000 (17:14 +0300)
committerAlexey Brodkin <abrodkin@synopsys.com>
Sat, 20 Feb 2016 08:19:53 +0000 (11:19 +0300)
commit379b3280b30c4aad5ff0fdf1cd6431c5fa6861b1
treedee63afdf0dd287b0daef4b3552513babff0fea3
parent86a0df732853d1a11eb3eaa3cda688d9ef7b34e5
arc: cache - accommodate different L1 cache line lengths

ARC core could be configured with different L1 and L2 (AKA SLC) cache
line lengths. At least these values are possible and were really used:
32, 64 or 128 bytes.

Current implementation requires cache line to be selected upon U-Boot
configuration and then it will only work on matching hardware. Indeed
this is quite efficient because cache line length gets hardcoded during
code compilation. But OTOH it makes binary less portable.

With this commit we allow U-Boot to determine real L1 cache line length
early in runtime and use this value later on. This extends portability
of U-Boot binary a lot.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
arch/arc/Kconfig
arch/arc/include/asm/cache.h
arch/arc/lib/cache.c
configs/axs101_defconfig
configs/tb100_defconfig