
Subject: [U-Boot] [PATCH 0/8] armv7: cache maintenance operations
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
Aneesh V (8): arm: make default implementation of cache_flush() weakly linked armv7: cache maintenance operations for armv7 armv7: integrate cache maintenance support arm: minor fixes for cache and mmu handling armv7: add PL310 support to u-boot armv7: adapt omap4 to the new cache maintenance framework armv7: adapt omap3 to the new cache maintenance framework armv7: adapt s5pc1xx to the new cache maintenance framework
As I mentioned to John Rigby in anoterh e-mail, I will be on vacation till the 20th of January. So there might be a little delay in merging this patch series after due review by the community.
Regards, Sandeep