arm cache fixes

Oleksandr Tymoshenko gonzo at bluezbox.com
Sat Dec 15 20:49:09 UTC 2012


On 2012-12-15, at 12:20 PM, Ian Lepore <freebsd at damnhippie.dyndns.org> wrote:

> Yes, I've submitted yet another patch for an arm cache maintenance bug. 
> 
> Just to be clear: it is NOT the fix for the arm v6/v7 writeback problem.
> 
> It also doesn't apply to Marvell/Sheeva-based armv5 systems, because
> they have their own SoC-specific cache maintenance routines.
> 
> It does apply to most other armv4 and v5 systems.
> 
> Speaking of the armv6/v7 bug that happens with writeback enabled... I
> took a hard look at the low-level asm code for those, and nothing jumps
> out at me as wrong.  But then, I've looked at the armv4 low level
> routines many times before, starting in 2009 when I first started
> fighting cache coherency problems, and I never noticed those incorrect
> 'bpl' instructions before.  (I've been doing arm asm since 1993, and I'm
> still always tripped up by the branch mnemonics used with arm.)
> 
> I've been calling it "the armv6/v7" problem, but do we know whether it's
> both of those architectures, or if it's v7-only?  There's a huge
> difference between the cache maintenance schemes for the two.  If it
> happens on both, we should probably focus on the busdma_machdep code.
> If it's v7 only, maybe it's low-level code (which looks reasonable on
> its face, but I need to study the ARM ARM for v7 stuff more).

I performed extensive testing only on armv7 platform. Now that the problem has been
split in several sub-problems (pmap module fixes, L2 cache driver bugs, EHCI issue)
I'm going to apply pmap fixes and perform tests on my Raspberry Pi to gather more statistics.
I'll get back with more information as soon as I have it. 





More information about the freebsd-arm mailing list