• Will Deacon's avatar
    KVM: arm64: add workaround for Cortex-A57 erratum #852523 · 43297dda
    Will Deacon authored
    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@vger.kernel.org>
    Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    43297dda
hyp.S 23.6 KB