[U-Boot] [PATCH v2] arc: significant cache rework
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Wed Jul 1 16:20:44 CEST 2015
On Wed, 2015-07-01 at 17:15 +0300, Alexey Brodkin wrote:
> From: Alexey Brodkin <Alexey.Brodkin at synopsys.com>
>
> [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. If SLC exists corresponding ops are
> run on cache
> flush/invalidate.
>
> [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 particular for speed-up of relocation).
>
> Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
> ---
> Compared to v1:
> * Remove explicit selection of L2CACHE on/off in Kconfig, check this
> in runtime
> and use L2 ops only when L2 is detected.
> This allows run the same executable on HW with and without L2
> cache.
> ---
> arch/arc/include/asm/arcregs.h | 5 +-
> arch/arc/include/asm/cache.h | 7 +-
> arch/arc/lib/cache.c | 375 ++++++++++++++++++++++++++++---
> ----------
> arch/arc/lib/cpu.c | 2 +
> arch/arc/lib/init_helpers.c | 10 +-
> arch/arc/lib/start.S | 46 ++++-
> 6 files changed, 300 insertions(+), 145 deletions(-)
Applied, thanks.
-Alexey
More information about the U-Boot
mailing list