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

Steve Sakoman
2010-12-23T04:53:41Z

On Wed, Dec 22, 2010 at 3:54 AM, Aneesh V <aneesh@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@linaro.org>

Steve