Subject: Re: [PATCH 29/38] powerpc: Move 32-bit probe() machine to later in the boot process

From: Benjamin Herrenschmidt <[email-masked]>
Date: Tue, 28 Jun 2016 07:40:05 +1000

On Mon, 2016-06-27 at 22:42 +0200, Gerhard Pircher wrote:
> This patch series reminds me of a long-standing issue with the
> AmigaOne platform code, which would have to clear the coherence
> (M) flag for every memory mapping to avoid lockups (especially
> on G4 CPUs) - as you can read in the comment below your patch
> above.
> 
> Now the follow-up code in amigaone/setup.c to clear the
> corresponding CPU feature flag is essentially dead code (it used
> to work with a second call of do_feature_fixups() before the
> handling of the CPU_FTR_NEED_COHERENT flag was changed/inverted
> somewhere around v2.6.30). Also it doesn't seem to fix all
> deadlocks, as e.g. KVM virtual machines can still inject memory
> mappings with the M flag set AFAICT.
> 
> Now I wonder, if there is a reasonably clean way to clear the M
> flag in all hardware page table and BAT entries without defacing
> generic kernel code too much. Any ideas?

Other than a compile time option ? Do we know where the lockups come
from btw ? A problem with the northbridge ?

Cheers,
Ben.