[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