[U-Boot] [PATCH 0/8] armv7: cache maintenance operations

Steve Sakoman sakoman at gmail.com
Thu Dec 23 05:53:41 CET 2010


On Wed, Dec 22, 2010 at 3:54 AM, Aneesh V <aneesh at ti.com> wrote:
> With D-cache and MMU enabled for ARM in u-boot it becomes imperative to
> support a minimal set of cache maintenance operations and necessary
> initializations before enabling MMU.
>
> This series of patches attempt to do the following for armv7:
> * Necessary initialization sequence before enabling MMU that includes
>  invalidation of TLB, data caches, branch predictor array etc.
> * Framework for supporting SOC specific outer caches in a generic manner
>  (using a structure of function pointers - inspired by the Linux
>  implementation)
> * Generic armv7 cache maintenance operations for caches known to the CPU
> * Support for ARM PL310 L2 cache controller used in OMAP4
> * Cleanup of the cleanup_before_linux() function
> * Adapting all armv7 SOCs to use the new framework and removing
>  duplicated code
>
> Testing:
> * Extensive testing on OMAP4430SDP and OMAP3430SDP by creating coherency
>  issues and solving them using the maintenance routines
>        - Eg: memfill a region of memory with a known pattern
>        - Invalidate the region
>        - Read back and compare the region with the original pattern
>        - If match fails it means that invalidate is successful
>        - Now add a flush call just before the invalidate
>        - If match succeeds it means that flush was successful
>        - Outer caches were tested with experiments involving making the
>          function pointers NULL
> * Kernel booting on OMAP4430SDP and OMAP3430SDP

I build tested for Beagle, Overo, Panda, and OMAP4430SDP - no issues.

I run tested on Overo and Panda to evaluate the changes on both OMAP3
and OMAP4 - no issues.

Tested-by: Steve Sakoman <steve.sakoman at linaro.org>

Steve


More information about the U-Boot mailing list