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>
Showing
- arch/arc/include/asm/arcregs.h 4 additions, 1 deletionarch/arc/include/asm/arcregs.h
- arch/arc/include/asm/cache.h 1 addition, 6 deletionsarch/arc/include/asm/cache.h
- arch/arc/lib/cache.c 255 additions, 120 deletionsarch/arc/lib/cache.c
- arch/arc/lib/cpu.c 2 additions, 0 deletionsarch/arc/lib/cpu.c
- arch/arc/lib/init_helpers.c 1 addition, 9 deletionsarch/arc/lib/init_helpers.c
- arch/arc/lib/start.S 37 additions, 9 deletionsarch/arc/lib/start.S
Loading
Please register or sign in to comment