[PATCH] KVM: arm64: add workaround for Cortex-A57 erratum #852523

Christoffer Dall christoffer.dall at linaro.org
Tue Sep 15 12:00:59 PDT 2015


On Mon, Sep 14, 2015 at 04:46:28PM +0100, Marc Zyngier wrote:
> On 14/09/15 16:06, Will Deacon wrote:
> > When restoring the system register state for an AArch32 guest at EL2,
> > writes to DACR32_EL2 may not be correctly synchronised by Cortex-A57,
> > which can lead to the guest effectively running with junk in the DACR
> > and running into unexpected domain faults.
> > 
> > This patch works around the issue by re-ordering our restoration of the
> > AArch32 register aliases so that they happen before the AArch64 system
> > registers. Ensuring that the registers are restored in this order
> > guarantees that they will be correctly synchronised by the core.
> > 
> > Cc: <stable at vger.kernel.org>
> > Cc: Marc Zyngier <marc.zyngier at arm.com>
> > Signed-off-by: Will Deacon <will.deacon at arm.com>
> 
> Reviewed-by: Marc Zyngier <marc.zyngier at arm.com>
> 

Looks good to me too, and I just gave this a spin with my loop test on
Juno as well.

Thanks,
-Christoffer



More information about the linux-arm-kernel mailing list