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

From: [email-masked] (Christoffer Dall)
Date: Tue, 15 Sep 2015 21:00:59 +0200

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: <[email-masked]>
> > Cc: Marc Zyngier <[email-masked]>
> > Signed-off-by: Will Deacon <[email-masked]>
> 
> Reviewed-by: Marc Zyngier <[email-masked]>
> 

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

Thanks,
-Christoffer